NamedParameterJdbcDaoSupport的使用小结

    NamedParameterJdbcDaoSupport  官方文档给出的定义是:模板类与JDBC的基本操作集,允许命名参数,而不是传统的使用'?'占位符。

    具体的使用见代码:

 

public class UserDAOImpl extends NamedParameterJdbcDaoSupport implements
		IUserBeanDAO {
	
	private NamedParameterJdbcTemplate daoTmplt;
	
	public final static String FIND_BY_ID_RNG = "SELECT id,name,psd FROM users WHERE id >= :MIN_ID AND id <=:MAX_ID";
	
	public final static String GET_USER_FROM_ID = "SELECT id,name,psd FROM users WHERE id = :ID";
	
	public final static String ADD_USER = "INSERT INTO users (name,psd) VALUES (:NAME,:PASSWORD)";
	
	public final static String UPDATE_USER = "UPDATE users SET name = :NAME, psd = :PASSWORD WHERE id = :ID";
	
	public final static String DELETE_USER = "DELETE FROM users WHERE id = :ID";
	
	/**
	 * 根据id的范围遍历用户的信息
	 */
	public List findByIDRange(Map userMap) {
		daoTmplt = getNamedParameterJdbcTemplate();
		/**
		 * 传入参数映射中的值存储在双字节数组中,顺序与SQL字符串中的位置参数相同。
		 * query()方法以包含Map(用列名作为键,一项对应一列)的List(一项对应一行)的方式返回查询结果
		 */
		return daoTmplt.query(FIND_BY_ID_RNG, userMap, new UserTOMapper());
	}
}

 

UserTOMapper的具体实现:

public class UserTOMapper implements RowMapper {
	public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
		int id = rs.getInt("id");
		String name = rs.getString("name");
		String password = rs.getString("psd");
		
		User empTo = new User(id, name, password);
		
		return empTo;
		
	}
}


daoContext.xml的配置文件为:

<bean id="jdbcTemplate" abstract="true" lazy-init="true">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
	</bean>
<bean id="userDAO" class="com.test.dao.jdbc.UserDAOImpl"
		parent="jdbcTemplate" />


  其中,NamedParameterJdbcTemplate 提供了很多种方式来处理查询得到的结果集,具体的见api说明。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值