您的位置:首页 > 其它

NamedParameterJdbcTemplate的用法

2015-05-04 23:25 323 查看
一.创建方式(2种)

1.通过dataSource创建

NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);


2.通过JDBCTemplate创建

JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
NamedParameterJdbcTemplate npt = nNamedParameterJdbcTemplate(JDBCTemplate);


二.NamedParameterJdbcTemplate类为命名参数设值有两种方式:java.util.Map和SqlParameterSource:

1.java.util.Map:使用Map键数据来对于命名参数,而Map值数据用于设值;

2.SqlParameterSource:可以使用SqlParameterSource实现作为来实现为命名参数设值,默认有MapSqlParameterSource和BeanPropertySqlParameterSource实现;MapSqlParameterSource实现非常简单,只是封装了java.util.Map;而BeanPropertySqlParameterSource封装了一个JavaBean对象,通过JavaBean对象属性来决定命名参数的值。

三.QueryForObject不同参数的区别

1.
public <T> T queryForObject(String sql, SqlParameterSource paramSource, Class<T> requiredType)


返回某行某列的查询结果,为单值查询。例如:

public int getMaxPosition() {
MapSqlParameterSource paramSource = new MapSqlParameterSource();
return this.namedJdbcTemplate.queryForObject(GET_MAX_POSITION, paramSource, Integer.class);
}


2.
public <T> T queryForObject(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)


返回泛型为T的某行的查询结果,为整行查询。例如:

public YDTopicInputVO getTopicById(Long id) {
MapSqlParameterSource paramSource = new MapSqlParameterSource();
paramSource.addValue("id", id);
return this.namedJdbcTemplate.queryForObject(GET_TOPIC_BY_ID, paramSource, this.createRowMapper(YDTopicInputVO.class));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: