您的位置:首页 > 移动开发

Spring10---spring整合JDBC_02_基于RowMapper的查询

2017-09-02 15:25 603 查看

基于RowMapper的查询



改为queryForObject

  第一个参数为sql

  第二个参数为查询条件的参数,

  第三个参数为RowMapper,这个对象可以完成一个对象和数据库字段的对应, 实现RowMapper,实现mapRow()方法,



测试



2、List查询,使用query,



测试



三、对比上面两个例子, 他们有一个共同点, RowMapper的实现相同,

new RowMapper<User>() {
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
Group g = new Group();
g.setId(rs.getInt("gid"));
g.setGroupName(rs.getString("groupname"));

User u = new User();
u.setId(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPassword(rs.getString("password"));
u.setNickname(rs.getString("nickname"));
u.setGroup(g);

return u;
}


我们可以将这段代码提取出来 , 作为一个静态内部类



在官网中的案例就是这么做的



查询的结果为记录条数count(*)

public void query() {
String sql = "select count(*) from t_user";
int rowNum = jdbcTemplate.queryForObject(sql, null, Integer.class);
System.out.println("获取" + rowNum + "条");

}


获取某个字段, 返回的是一个列表

public void query() {
String sql = "select username  from t_user";
List<String> names = jdbcTemplate.queryForList(sql, String.class);
for (String name : names) {
System.out.println(name);
}
}


Batch operations with a List of objects,

NamedParameterJdbcTemplate

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 数据库