Ibatis的批量操作和事务管理。
2016-09-23 10:35
465 查看
转自:http://zhidao.baidu.com/link?url=_lvbPYhLUGyZxfIswK6qqAiDa8jeTZ0mOVJoef9e8fadMw9yCRlBp8HT3ZDLyEomxTm-z5W_yn4NE_ZBjLjpN_
再如:
public void deleteList(List modelList, Class<? extends PersistentObject> clazz) throws ApplicationException {
if(modelList == null || modelList.size() == 0){
throw new ApplicationException("对象不能为空");
}
String sqlMapId = clazz.getSimpleName()+"_base_insert";
//启动批量操作
try {
IbatisHelper.getSqlMapClient().startBatch();
for(int i=0; i<modelList.size(); i++){
IbatisHelper.getIBaseDao().delete(sqlMapId, modelList.get(i));
}
//执行批量操作
IbatisHelper.getSqlMapClient().executeBatch();
} catch (SQLException e) {
throw new ApplicationException("删除失败", e);
}
}
你用的应该是ibatis,这里是批量删除,相当于把一堆操作用一个事务来提交,提高数据库性能。 //函数功能,删除list中的所有元素在数据库中的记录。 protected void batchDelete(List<?> lst, String statement) throws SQLException { getSqlMapClient().startBatch();//开始批量操作 //遍历list for (Iterator localIterator = lst.iterator(); localIterator.hasNext(); ) { Object obj = localIterator.next(); getSqlMapClient().delete(statement, obj);//statement表示你调用的删除方法,在xml文件中定义的。 } getSqlMapClient().executeBatch();//结束批量操作 }
再如:
public void deleteList(List modelList, Class<? extends PersistentObject> clazz) throws ApplicationException {
if(modelList == null || modelList.size() == 0){
throw new ApplicationException("对象不能为空");
}
String sqlMapId = clazz.getSimpleName()+"_base_insert";
//启动批量操作
try {
IbatisHelper.getSqlMapClient().startBatch();
for(int i=0; i<modelList.size(); i++){
IbatisHelper.getIBaseDao().delete(sqlMapId, modelList.get(i));
}
//执行批量操作
IbatisHelper.getSqlMapClient().executeBatch();
} catch (SQLException e) {
throw new ApplicationException("删除失败", e);
}
}
相关文章推荐
- 在事务中执行批量复制操作
- 用户管理 之 在Linux系统中,批量添加用户的操作流程
- IBATIS 批量更改操作
- 操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理
- 操作分布式文件之八:如何批量并行读写远程文件和事务补偿处理
- Executing a batch in a transaction--PHP DATA OBJECT(PDO)事务处理中的批量操作
- Java对数据库进行事务处理(批量删除操作)
- Spring 下事务管理 - 使用 AOP XML 配置管理(iBatis 为例)
- iBatis 事务控制 与 两表操作将SQL语句写入单表
- spring整合ibatis事务管理
- 微软Sharepoint管理工具包详解-批量网站集操作
- spring 事务管理下的 hibernate 持久化实例操作的几点问题【查询/更新】
- c#批量插入数据到数据库【支持事务操作】
- Spring 下事务管理 - 使用 AOP XML 配置管理(iBatis 为例)
- 批量复制操作的事务和说明(SqlBulkCopy)
- [转]ibatis +spring ,hibernate 批量操作心得
- spring的事务管理,实际上是将jdbc操作的繁琐代码做成了切面
- [Ibatis] Ibatis批量操作(增/删/改)
- JdbcTemplate batchUpdate 批量操作加事务
- SHELL实现同时操作多个服务器:服务器批量管理