Configuration?c= this.getSqlSession().getConfiguration();
ManagedTransactionFactory?managedTransactionFactory?=?new?ManagedTransactionFactory();
BatchExecutor?batchExecutor=new?BatchExecutor(c,managedTransactionFactory.newTransaction(this.getSqlSession().getConnection(),false));?
int?i?=?0;
for?(JavaBean?entity?:?list)?{
batchExecutor.doUpdate(c.getMappedStatement(sql),?entity);
if?(i++?>?0?&&?i?%?BATCH_SIZE?==?0)?{
batchExecutor.doFlushStatements();
}
}
batchExecutor.doFlushStatements();
java mysql mybatis批量更新数据库,采用以下写法即可执行,但是数据库连接必须配置:&allowmultiqueries=true
例如:jdbc:mysql://192.168.1.236:3306/test?useunicode=true&characterencoding=utf-8&allowmultiqueries=true
?????
update?test?
?test=${item.test}+1
where?id?=?${item.id}
???mybatis是支持普通sql查询,存储过程和高级映射的优秀持久层框架。mybatis消除了几乎所有的jdbc代码和参数的手工设置以及结果集的检索。mybatis使用简单的xml或注解用于配置和原始映射,将接口和java的pojos(plan old java objects,普通的java对象)映射成数据库中的记录.