加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

mybatis批量saveOrUpdate(ON DUPLICATE KEY UPDATE)

(2016-09-23 19:04:59)
标签:

mybatis批量保存更新

mybatis批量saveorupd

分类: mybatis
    在工作中遇到使用mybatis批量操作数据,如果有这条记录,就执行更新操作;如果没有这条记录,就执行插入操作。当时翻看过mybatis官方文档,并没有这方面的介绍,所以要用sql的语法来解决。 no duplicate key update。

当然,仅仅如此是不够的,还有配置数据库,设置字段create_time和uid两个字段在表中唯一,这样,才会只有一条记录。

 

"SaveOrUpdate" parameterType=";font-size:12.0000pt;mso-font-kerning:1.0000pt;">>

 

   INSERT INTO course_table(uid,create_time,type,praise,view)VALUES

 

"list" item="item" separator=",">

(#{item.uid},CURDATE(),0,#{item.praise},#{item.view}) 

 

 

 

ON DUPLICATE KEY UPDATE

praise =CASE uid

 

"list" item="item" index="index"> 

WHEN #{item.uid} THEN #{item.praise}

 

 

 

END,

view=CASE uid

 

"list" item="item" index="index"> 

WHEN #{item.uid} THEN #{item.view}

 

 

END

 

 

如果有多个字段要改动,END后面加逗号分隔.

uid是当uid为某一用户uid时,才执行当条数据更新操作。

新浪放代码会编译,所以这里截图::::::

http://s12/mw690/005MDKKozy754OdwxYf2b&690DUPLICATE KEY UPDATE)" TITLE="mybatis批量saveOrUpdate(ON DUPLICATE KEY UPDATE)" />



0

阅读 收藏 喜欢 打印举报/Report
前一篇:java数组
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有