最近在做数据抽取工作,用到了ibatis,发现如果单纯的将SqlMapClient设置进来去,然后通过sqlMapClient.executeBatcn()去执行批量的时候,实际上是每条单独执行而达不到批量的去操作,网上翻了挺久,发现要用以下的方式来实现批量的操作:
public void addUser(final List<User> userList) throws Exception {//需要将传入的参数设置为final
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor)
throws SQLException {
executor.startBatch();
for (User user : userList) {
executor.insert("TestDemo.addUser", user);//此处可以是update、delete
}
executor.executeBatch();
return null;
}
});
}
本文介绍了一种使用ibatis进行批量数据库操作的方法。通过SqlMapClientTemplate的execute方法结合SqlMapClientCallback,实现了真正的批量插入、更新或删除操作,提高了数据库操作效率。
1605

被折叠的 条评论
为什么被折叠?



