先建立序列 seq_xxxx_detail
在mybatis中使用
<insert id="xxxx" parameterType="map">
<selectKey resultType="int" keyProperty="id" order="BEFORE">
SELECT seq_xxxx_detail.nextval FROM DUAL
</selectKey>
insert into crmapp_business_detail
(
id,
mobilephone,
)
values
(
#{id} ,
#{mobilephone}
)
</insert>
刚开始没有加order="BEFORE",然后报了“无效的列1111”,搞了好久,因为明明记得之前是这样用的,后来查了一下,说了时候mybatis多少版本之后需要加上这个。加了然后就好了。
刚开始直接是这样写的
<insert id="xxxx" parameterType="map">
insert into crmapp_business_detail
(
id,
mobilephone
)
values
(
seq_crmapp_business_detail.nextval ,
#{mobilephone}
)
</insert>
但是一直报无效的列异常,后来用了上面的方法之后再用这个,居然又行了

本文记录了在MyBatis中使用Oracle序列实现字段自增的步骤和遇到的问题。首先创建序列seq_xxxx_detail,然后在MyBatis的插入语句中使用<selectKey>标签,注意需添加order="BEFORE"属性以解决"无效的列"异常。最初尝试直接在插入语句中使用序列,但出现错误,通过调整后问题得到解决。
1820

被折叠的 条评论
为什么被折叠?



