mybaits java后台返回自增长的id

官方文档只这么说的:useGeneratedKeys该属性会告诉Mybatis使用JDBC的getGeneratedKeys方法来取出由数据(比如:像Mysql和Sql server这样数据库管理系统的自动递增字段)内部生成的主键。默认值:false。

<insert id="insertAttachmentOne" parameterType="com.bjdv.ccps.workorder.pojo.WoAttachment" useGeneratedKeys="true" keyProperty="attachId">
		<selectKey keyProperty="attachId" resultType="java.lang.Long" order="BEFORE">
		    select WO_ATTACHMENT_SEQ.NEXTVAL as attachId from DUAL
		  </selectKey>
			insert into WO_ATTACHMENT
			 <trim prefix="(" suffix=")" suffixOverrides="," >
			 	ATTACH_ID,
			 	<if test="staffId != null">
					STAFF_ID,
				</if>
				
			 </trim>
			 <trim prefix="values (" suffix=")" suffixOverrides="," >
			 		#{attachId},
			 	<if test="staffId != null">
					#{staffId,jdbcType=DECIMAL},
				</if>
				
			 </trim>
  	</insert>

插入的id 会付给user实体的id字段,insert()的返回值是插入记录的条数

要配置之后 才能用user.getId()获得插入的主键


注意:keyProperty="attachId" 而不是keyProperty="id"!
当执行完insert()方法后,Mybatis会自动将返回的主键值赋值给属性attachId,因此你可以通过这个方法获得插入的主键值:

System.out.println(User.getAttachId());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值