mybaits java后台返回自增长的id

来源:互联网 发布:淘宝卖家贴吧怎么引流 编辑:程序博客网 时间:2024/06/01 10:19

官方文档只这么说的: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
原创粉丝点击