最近用MyBatis做开发的时候发现,MyBatis有个小小的缺点,不支持批量update?

这里的批量更新不是对一批数据只更改相同的状态,而是每条update语句均不一样。MyBatis可以做批量insert,把多个插入语句拼接成一条sql,Mybatis的驱动... 这里的批量更新不是对一批数据只更改相同的状态,而是每条update语句均不一样。MyBatis可以做批量insert,把多个插入语句拼接成一条sql,Mybatis的驱动可以支持,但是,多个update拼接成一条update传给Mybatis的时候,就提示出现语法问题了。最后只能用JdbcTemplate来实现了。这个Mybatis究竟有没有批量的update? 展开
 我来答
jackylvxg
推荐于2016-02-29 · TA获得超过243个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:218万
展开全部
有的
Configuration c= this.getSqlSession().getConfiguration();
ManagedTransactionFactory managedTransactionFactory = new ManagedTransactionFactory();
BatchExecutor batchExecutor=new BatchExecutor(c,managedTransactionFactory.newTransaction(this.getSqlSession().getConnection(),false));
int i = 0;
for (T entity : collection) {
batchExecutor.doUpdate(c.getMappedStatement(sql), entity);
if (i++ > 0 && i % BATCH_SIZE == 0) {
batchExecutor.doFlushStatements();
}
}
batchExecutor.doFlushStatements();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
辰沙00
2013-09-30 · 超过14用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:28.2万
展开全部
你可以写存储过程的实现你那个批量update,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mxyue0208
2013-10-11 · TA获得超过417个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:123万
展开全部
是更新一个表的数据吗?要是一张表的话、使用if应该可以吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式