ibatis实践(一)---批量操作
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
?
?
?
?