java - mybatis mysql 如何实现upsert功能?

 哓尐_271 发布于 2022-10-25 05:12

1、数据不存在insert;
2、数据存在update;
3、表中有一个唯一约束;并根据该约束执行具体的插入或者修改操作。

————————————————————————————

insert into T_name (uid, app_id,createTime,modifyTime) 
values(111, 1000000,'2017-03-07 10:19:12','2017-03-07 10:19:12') 
on duplicate key update uid=111, app_id=1000000, createTime='2017-03-07 10:19:12',modifyTime='2017-05-07 10:19:12'

如何把上边的sql,用mybatis改写?

2 个回答
  • <insert id="upsert" parameterType="Model">

    insert into T_name
        (uid, name, age, balance) values (#{uid,jdbcType=VARCHAR},#{name}, 23, 100000000)
    on duplicate key update balance=balance + 100

    </insert>

    my mybatis 中 使用#{} 获取vo属性值

    2022-10-26 14:20 回答
  • <insert id="upsert" parameterType="Model">
        insert into T_name
            (uid, name, age, balance) values (100,"yangyang", 23, 100000000)
        on duplicate key update balance=balance + 100
    </insert>

    以上代码,自己测试可以的。

    2022-10-26 14:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有