一.创建方式(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));
}版权声明:本文为alexxu1988原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。