摘要:
在项目中,如果需要一次性插入或更新多条记录,当然可以简单地通过多次调用update()方法完成任务,但这不是最好的实现方案。更好的选择是使用JDBCTemplate批量数据更改的方法。一般情况下,后者拥有更好的性能,因为更新的数据将被批量发送到数据库中,它减少了对数据库访问的次数。JDBC有2个批量数据操作的方法: public int[] batchUpdate(String[] sql) 多条SQL语句组成一个数组,注意此处的sql语句不能带参数,该方法以批量方式执行这些SQL语句。Spring在内部使用JDBC提供的批量更新API完成操作,如果底层的JDBC Driver不支持批... 阅读全文
摘要:
在项目中,我们经常遇到这样的情况,表主键值设置为自增长,也就是主键值不在应用层产生,而是在新增记录时,由数据库产生。当我们新增加一条记录时,为了唯一定位到该记录,我们需要获得该记录的主键值,而这需要在数据库保存数据后才能从数据库中返回主键值。当我们使用Hibernate作为持久化框架时,新对象在持久化之后,主键值会自动绑定到对象上,但是当我们使用JDBC的时候要如何获得主键值。 在JDBC3.0规范中,当新增记录时,允许将数据库自动产生的主键值绑定到Statement或PreparedStatement中。使用Statement时,可以通过以下方法绑定主键值: int executeU... 阅读全文