<insert id="insertOrUpdate" parameterType="这里就不写了">
INSERT INTO test
(main_id,score,totalCount)
VALUES
(456,5.0,12345) <!--这里有个参数是456,同上面一条的123不一样-->
ON DUPLICATE KEY UPDATE
score=VALUES(score),
totalCount=VALUES(totalCount)
</insert>
这是mybatis里面执行的语句,为了直观些,我直接写了一条死语句进来。
同样的两条语句,在mybatis里面执行的时候也不报错,但是数据库却插不进去,也不能更新
求解!
你应该先查一下数据库端的log文件看看这条语句是否被正确传输过去了,
如果根本就没传过去,再把这条语句修改为明显错误的看看mybatis是否正常load进去并且运行了,
这样基本应该能找到问题
测试了一下完全可以的,你mybatis是什么版本?我执行的代码:
<updateid="insertOrUpdateGameSemanticTesting"parameterType="list">
<foreachcollection="list"item="item"open=""close=""separator=";"index="index">
INSERTINTOt_game_semantic_testing
(`game_semantic_id`,`content`,`time`,`created_time`,`last_modified_time`)
VALUES
(#{item.game_semantic_id},#{item.content},1,NOW(),NOW())
ONDUPLICATEKEYUPDATE
`time`=`time`+1,
`last_modified_time`=now()
</foreach>
</update>
我也是可以的啊
博主写得很不错,这里分享大家一个专注于Java开发的个人博客,里面干货满满,有需要的请点击这里。
http://www.marsitman.com/mybatis/mybatis-oracle-getid.html
楼主问题解决了吗,解决的话拿出来分享一下啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。