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

13 篇文章 0 订阅

基于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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值