1、批量插入数据
方式一:DAO层类继承SqlMapClientDaoSupport则
public void batchInsertTest(final List<TestList> list) {
getSqlMapClientTemplate().execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutor executor)throws SQLException {
executor.startBatch();
for(TestList testList:list){
executor.insert("insertTest", testList);
}
executor.executeBatch();
return null;
}
});
}
方式二:使用注入spring容器中的 sqlMapClient
public void batchInsertTest(List<TestList> list) {
try {
sqlMapClient.startTransaction();
sqlMapClient.startBatch();
for (TestList testList : list) {
sqlMapClient.insert("insertTest", testList);
}
sqlMapClient.executeBatch();
sqlMapClient.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
sqlMapClient.endTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2、批量update与insert相同
3、批量删除
sqlMap.xml文件
<delete id="deleteUsers" parameterClass="java.lang.String"> delete from user where id in ($ids$) </delete>
ids=12,13,14