mybatis 使用merge into
生活随笔
收集整理的這篇文章主要介紹了
mybatis 使用merge into
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前一篇博客,oracle的merge into語法 :?oracle merge into語法
mybatis 使用merge into,跟一般的update寫法相同:
<update id="mergeinfo">merge into user_type ausing ( select #{name} as name, #{type} as type from dual ) bon (a.type = b.type)when not matched theninsert (type,name) values(#{type},#{name})when matched thenupdate set name = #{name} where type = #{type}</update>?
傳入字段 name、type,使用 “select #{name} as name, #{type} as type from dual”,構(gòu)建一個子查詢建別名 “b”,
目標表“a” 的type字段,與子查詢表“b”的type字段比較:
如果不匹配:
執(zhí)行 :“insert (type,name) values(#{type},#{name})”
如果匹配:
執(zhí)行:“update set name = #{name} where type = #{type}”
主要on 后面的括弧不能省
?
測試代碼:
@Testpublic void testmergeinfo(){map.put("type", "t");map.put("name", "venn");int a = sqlSession.update(“mergeinfo”,map);
sqlSession.commit();
System.out.println(a); }
?
輸出插入或更新的記錄條數(shù)。
?
轉(zhuǎn)載于:https://www.cnblogs.com/Springmoon-venn/p/8519592.html
總結(jié)
以上是生活随笔為你收集整理的mybatis 使用merge into的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【知识梳理1】Android触摸事件机制
- 下一篇: 在Visual Studio Code中