mybatis Oracle 主键生成采用序列方式踩坑记录

<sql id='APP_CUSTOM_ID_SEQ'>APP_CUSTOM_ID_SEQ.currval</sql>
<insert id="save" parameterType="com.xxx.entity.User">
   <selectKey keyProperty="Id" resultType="int" order="BEFORE">
	   select <include refid="APP_CUSTOM_ID_SEQ" /> from dual
   </selectKey>
   insert into APP_CUSTOM(
          ID,
          CREATE_NAME,
	  CREATE_TIME,
	  ALTER_TIME,
	  CREATE_USERNAME,		     
	  APP_DES
   )values(
          #{Id},
          #{CREATE_NAME},
	  #{CREATE_TIME},
	  #{ALTER_TIME},
	  #{CREATE_USERNAME},
	  #{APP_DES}
   )
</insert>

如上的代码,注意:values 后面的#{Id}的Id必须和User实体的主键的id名称一样,否则会报User实体没有对应的set方法的错。就比如刚开始我的User实体的主键是id,然后

selectKey keyProperty="userId" 所以 insert into xxx values (#{userId},...) 这样会导致报设置的时候,找不到User实体的setUserId的方法,也就是User实体没有userId属性的设置方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值