<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
楼主问题解决了吗,解决的话拿出来分享一下啊