JDBCTemplate与数据库进行交互

相较于使用原生JDBC技术连接数据库,使用JDBCTemplate技术简化了操作

  • 首先在资源的创建与销毁方面,它整合了资源创建与销毁。
  • 其次在访问数据库的方法上也做出了修改,它使用了query和update两个方法,两个方法的返回值分别为List和int,并且对查询也就是query方法的返回值做出了进一步的处理
    处理主要为以下两种
    1.第一种是通过RowMapper来将数据库查询返回的数据映射成为一个实例对象,映射对象前我们需要先创建一个与表对应的实体类,通过在query方法的参数中传入sql和一个RowMapper匿名内部类并重写内部的maprow方法,将sql执行返回的结果集ResultSet和行号作为参数传入maprow方法中反复调用maprow方法,将该方法封装的实例对象返回到query方法返回的集合中。
List<Java> personList = jdbcTemplate.query("查询的SQL语句", new RowMapper<Java>() {
    /**
      功能:作为JdbcTemplate,将查询结果的每个字段映射为一个ORM对象的属性的实现。
      执行时机:查询结果的每条数据的映射,都会调用一次mapRow方法。
      参数:
        ResultSet:结果集,封装了MySQL返回的查询结果。可以看作是之前MySQL客户端返回的行结果。
        rowNum:当前映射的行,在整体本次查询结果的行号。
    */
    @Override
    public JavamapRow(ResultSet rs, int rowNum) throws SQLException {
        //获取当前行数据
        rs.getXxxx("查询结果列名");
        rs.getString("");
        rs.getInt("");
        rs.getDouble("");
        // 将结果封装成Java对象,并返回。
        
    }
});

2.第二种是在第一种的基础上对RowMapper进行了进一步的简化,通过传入BeanPropertyRowMapper实现类对象进行查询,这个实现类是RowMapper的接口实现类,它内部实现了RowMapper接口,对它进行了进一步的封装。它的操作是需要传入对应实体类的类对象,底层代码会通过反射将数据库返回的数据映射成为对象。

 List<Person> list=jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Person.class));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值