IBatisExecutor.javaの雛形
package com.xtakagi.test.dao.impl;

import java.io.IOException;
import java.io.Reader;
import java.nio.charset.Charset;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

/**
 * IBatis制御クラス
 * 
 * @author xtakagi
 * @version 1.0.0
 *
 */
public class IBatisExecutor {
	/** ログ設定 */
	private static Log log = LogFactory.getLog(IBatisExecutor.class);
	/** SQLマッパー */
	private static SqlMapClient sqlMapper;
	
	/**
	 * コンストラクタ
	 *
	 */
	private IBatisExecutor() {
		super();
	}
	
	static {
		Reader reader = null;
		try {
			Resources.setCharset(Charset.forName("UTF-8"));
			reader = Resources.getResourceAsReader("com/xtakagi/test/dao/SqlMapConfig.xml");
			sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
		}
		catch (IOException ex) {
			throw new RuntimeException("SqlMapperの生成に失敗しました",ex);
		}
		finally {
			if (null != reader) {
				try {
					reader.close();
				}
				catch (IOException ex) {
					log.warn("Readerのクローズに失敗しました",ex);
				}
			}
		}
	}
	/**
	 * SQLマップインスタンスの取得
	 * 
	 * @return SqlMapClient : SQLマップクライアント
	 */
	public static SqlMapClient getSqlMapInstance() {
		return sqlMapper;
	}
}

DAO実装クラスの雛形
package com.xtakagi.test.dao.impl;

import java.sql.SQLException;
import java.util.List;

import com.xtakagi.test.dao.UserDao;
import com.xtakagi.test.dto.UserDto;
import com.xtakagi.utils.Utils;

/**
 * ユーザDAO実装クラス
 * 
 * @author xtakagi
 *
 */
public class UserDaoImpl implements UserDao {
	/**
	 * {@inheritDoc}
	 */
	@Override
	@SuppressWarnings("unchecked")
	public UserDto getUser(final String loginId) {
		try {
			List userList = IBatisExecutor.getSqlMapInstance().queryForList("SelectUserByLoginId", loginId);
			if (Utils.isAvailable(userList)) {
				return userList.get(0);
			}
			return null;
		}
		catch (SQLException ex) {
			throw new RuntimeException("SQL実行例外は発生しました",ex);
		}
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	@SuppressWarnings("unchecked")
	public List getUserList() {
		try {
			return IBatisExecutor.getSqlMapInstance().queryForList("SelectAllUser");
		}
		catch (SQLException ex) {
			throw new RuntimeException("SQL実行例外は発生しました",ex);
		}
	}
}

DAO実装クラスの雛形
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
	<resultMap id="UserDto" class="com.xtakagi.test.dto.UserDto">
		<result property="userId" column="user_id" /> 
		<result property="userName" column="user_name" /> 
		<result property="loginId" column="login_id" /> 
		<result property="password" column="password" /> 
	</resultMap>

	<select id="SelectAllUser" resultMap="UserDto">
	SELECT user_id, login_id, password, user_name FROM user_tbl
	</select>
	<select id="SelectUserByLoginId" parameterClass="string" resultMap="UserDto">
	SELECT user_id, login_id, password, user_name FROM user_tbl
	WHERE login_id = #loginId#
	</select>
</sqlMap>