-
用 JdbcTemplate 进行批量插入或更新操作,直接看代码吧,不多说了。
代码只是测试用的一个小例子。
- public int insertContractAch(List list) throws DataAccessException {
- final List temList = list;
- String sql = "insert into contract_ach_t " +
- " values(?,to_date(?,'yyyy-mm-dd'),?,?) ";
- try{
- int[] ii = this.getJdbcTemplate().batchUpdate(sql, new MyBatchPreparedStatementSetter(temList));
- return ii.length;
- }catch (org.springframework.dao.DataAccessException e) {
- e.printStackTrace();
- throw new DataAccessException(e.getMessage());
- }
- }
- /**
- * 处理批量插入的回调类
- * */
- private class MyBatchPreparedStatementSetter implements BatchPreparedStatementSetter{
- final List temList;
- /**通过构造函数把要插入的数据传递进来处理*/
- public MyBatchPreparedStatementSetter(List list){
- temList = list;
- }
- public int getBatchSize() {
- return temList.size();
- }
- public void setValues(PreparedStatement ps, int i)
- throws SQLException {
- ContractAchVO contractAchVO = (ContractAchVO)temList.get(i);
- ps.setString(1, contractAchVO.getContractCode());
- ps.setString(2, contractAchVO.getCreateDate());
- ps.setString(3, contractAchVO.getEmployeeId());
- ps.setString(4, contractAchVO.getPercent());
- }
- }
Spring JdbcTemplate 批量插入或更新操作
最新推荐文章于 2024-11-30 22:17:18 发布