Fork me on GitHub

mybaits问题

Mybatis insert into tab1 select column from tab2 命令未正常结束

因为我们是使用的oracle数据库,oracle是不支持自增的主键的, mybatis mapper 配置如下

1
2
3
4
<insert id="insert" parameterType="com.xx" >
insert into tab1 (ID, CREATEDATE, STATUS)
(select ID, CREATEDATE, STATUS from tab2)
</insert>

程序运行起来mybatis报了一个异常sqlException 说命令未正确结束!查询了mybatis文档说明

useGeneratedKeys 允许 JDBC 支持自动生成主键,需要驱动兼容。 如果设置为 true
则这个设置强制使用自动生成主键,尽管一些驱动不能兼容但仍可正常工作(比如 Derby)。 true | false False

最后修改成了问题解决,但是有一点疑惑为啥默认这个就是false,为啥还要指定为false才可以呢?

1
2
3
4
<insert id="insert" parameterType="com.xx" useGeneratedKeys="false">
insert into tab1 (ID, CREATEDATE, STATUS)
(select ID, CREATEDATE, STATUS from tab2)
</insert>

本文欢迎转载,但是希望注明出处并给出原文链接。 如果你有任何疑问,欢迎在下方评论区留言,我会尽快答复。 如果你喜欢或者不喜欢这篇文章,欢迎你发邮件到 alonecong@126.com 告诉我你的想法,你的建议对我非常重要。

------ 本文结束感谢您的阅读! ------
0%