首页 > 数据库技术 > 详细

SpringJDBC

时间:2019-04-23 00:55:19      阅读:207      评论:0      收藏:0      [点我收藏+]

更改 主要使用的是 update 方法

 

批量更改:一次性执行多条 update 语句,使用 batchUpdate 方法
  • jdbcTemplate.batchUpdate(String[] sql); 固定参数值
  • jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter()); 可变参数值


 
 

查询 主要使用的是 query、queryForXX 等函数,而 queryForXX 系列底层其实调用的是 query 方法,故这里只介绍通过 query 方法查询数据。

query 有多个重载方法,例如传入固定参数的 SQL 语句,传入可变参数的 SQL 语句等等,语法类似上面介绍的 update 方法,这里介绍两种带回调方法的查询语句:

(1) void query(String sql, RowCallbackHandler rch)

使用 RowCallbackHandler 既可以返回单行结果,也可以返回多行结果。Spring 会对查询的结果集逐行调用 processRow 方法,用户不用关心怎么读取下一行数据的问题。

(2) <T> T queryForObject(String sql, RowMapper<T> rowMapper)

使用 RowMapper 处理结果集,它直接返回的是 List,相比于上面,我们不用手动将对象添加到 List 中

 

 

RowCallbackHandler 接口的实现类是可以有状态,即在多线程环境下,可能会有线程安全的问题。
下面代码就展示了其实现类 RowCountCallbackHandler 打印结果集行数的示例,在多线程环境中,若行数发生变化,下面的结果可能不会一致。而 RowMapper 实现类没有这种情况。



 

SpringJDBC

原文:https://www.cnblogs.com/dengzhaolin/p/10753975.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!