笔记:mybatis-oracle使用序列自增

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先建立序列   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>

但是一直报无效的列异常,后来用了上面的方法之后再用这个,居然又行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值