java - mybatis mysql 如何實現upsert功能?
問題描述
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改寫?
問題解答
回答1:<insert parameterType='Model'> insert into T_name(uid, name, age, balance) values (100,'yangyang', 23, 100000000) on duplicate key update balance=balance + 100</insert>
以上代碼,自己測試可以的。
回答2:<insert 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屬性值
相關文章:
1. javascript - Angular利用 broadcast和 on實現頁面跳轉并且傳遞數據 但是跳轉后收不到數據2. angular.js - angular獲取radio選項的值,在線等啊親,連續加班一個禮拜了……3. javascript - 關于unicode emoji表情問題4. java - svn導下來的項目,web-inf下怎么沒有lib文件呀?5. node.js - 微信小程序websocket連接問題6. button按鈕點擊了沒有任何反應7. css3 隱藏文本8. node.js - express-session 怎么支持無 cookie 的微信小程序session9. javascript - 關于addEventListener和attachEvent的兼容寫法疑問,求助!10. css - ul ol前邊的標記如何調整樣式呢
