Ibatis与Mysql整合不支持批量更新的问题
2014-11-04 09:36
369 查看
更新数据库时,一次性发送多条sql,性能高于一次一条sql执行~
Mysql不支持批量更新,但可以通过以下实现:
UPDATE xxxxx
<trim prefix="set" suffixOverrides=",">
<trim prefix="field_1=case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.field1!=null">
when id=#{i.id} then #{i.field1}
</if>
</foreach>
</trim>
<trim prefix="field_2=case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.fileld2!=null">
when id=#{i.id} then #{i.fileld2}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="list" open="(" separator="," close=")" item="item">
#{item.id}
</foreach>
虽然看着挺繁琐~ 但总比一条一条sql执行效率高
Mysql不支持批量更新,但可以通过以下实现:
UPDATE xxxxx
<trim prefix="set" suffixOverrides=",">
<trim prefix="field_1=case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.field1!=null">
when id=#{i.id} then #{i.field1}
</if>
</foreach>
</trim>
<trim prefix="field_2=case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.fileld2!=null">
when id=#{i.id} then #{i.fileld2}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="list" open="(" separator="," close=")" item="item">
#{item.id}
</foreach>
虽然看着挺繁琐~ 但总比一条一条sql执行效率高
相关文章推荐
- 使用ibatis处理大数据量批量插入更新问题
- 关于mysql 批量更新开关在mycat中失效的问题
- MySQL 5.1的中文支持的一个改进,从MySQL 4.1开始不支持中文路径,文件名的问题解决了
- [导入]Mysql Connector Net 不支持GBK问题的解决
- IBatisHelper 更新 支持 连接 Oracle 数据库 生成 bin 和 SQLMapper
- Mysql事务问题调试了半天,居然是Mysql数据库类型为MyISAM的表不支持事务
- 关于SQL触发器批量更新的问题
- XPSP2中如何解决ASP--ADODB.Recordset (0x800A0CB3)当前记录集不支持更新问题
- “无法更新EntitySet“*****”,因为它有一个DefiningQuery,而<ModificationFunctionMapping>元素中没有支持当前操作的<InsertFunction>元素”问题的解决方法
- PHP4升级到PHP5支持MySQL 的问题
- mysql 批量更新详解
- 折腾我一天的问题,结果居然是“微软的ODBC不支持EXCEL的更新”!
- iBatis对批量update的支持
- 关于Javascript与表单结合时出现"对象不支持此属性或方法"的问题总结(不断更新中...)
- MySql支持utf-8编码的问题
- MySQL 主从更新滞后问题
- Mysql Connector Net 不支持GBK问题的解决
- linux 下mysql多线程支持问题
- C#中dataGrid的批量更新问题解决方案
- struts+spring+hibernate整合问题解决方法 陆续更新中....