读书人

Ibatis中开展批量操作

发布时间: 2012-10-09 10:21:45 作者: rapoo

Ibatis中进行批量操作

?

???? 最近遇到这样一个客户需求:需要向数据库里面一次插入几万条数据。系统的Persistence层用的是ibatis,

事务是通过spring管理。之前都是少量数据的操作,所以都是按照以下方式插入的:

????

????

public Object operate(final List<CardInfo> cardsToAdd, final List<AcctInfo> acctsToAdd, final List<AcctInfo> acctsToUpdate) throws DataAccessException{???? ??Object obj=this.getSqlMapClientTemplate().execute(new SqlMapClientCallback(){???? public Object doInSqlMapClient(SqlMapExecutor executor)???????????? {???? ???? try{???? getSqlMapClient().startTransaction();???? executor.startBatch();...

?? 后面的startBatch语句是通过使用jdbc的批处理来提高效率。这样就能顺利执行同一个事务下的批量操作了(注意:如果在批量startBatch之前没有开启事务,批处理是无效的)。

?

?? 就总结到这里吧,请光临的朋友多多指教。

??

????

??

?

??

读书人网 >软件架构设计

热点推荐