jdbctemplate 查询list自动映射bean
接口
public interface PageService<T> {
/**
* 分页
* @param pageSql
* @param map
* @param rowMapper
*/
List<T> page(String pageSql, Map<String,Object> map, RowMapper rowMapper);
}
实现类
@Service
public class JdbcPageServiceImpl<T> implements PageService<T>{
@Autowired
private NamedParameterJdbcTemplate jdbcTemplate;
@Override
public List<T> page(String pageSql, Map<String, Object> map, RowMapper rowMapper) {
return jdbcTemplate.query(pageSql,map,rowMapper);
}
}
调用
Map<String,Object> map=new HashMap<>();
map.put("deleted",0);
map.put("putaway",1);
String sql="SELECT " +
" p.* " +
"FROM " +
" product p " +
"WHERE " +
" AND p.deleted =:deleted " +
" AND p.put_away =:putaway "
" limit "+(pageNo-1)*pageSize+","+pageSize;
List<Product> products= pageService.page(sql,map,new BeanPropertyRowMapper(Product.class));
BeanPropertyRowMapper 可以实现查询结果自动映射到bean对象