MySQL数据库插入数据时返回自增id的方法
概要
MySQL数据库新增一条数据时返回首列自增id
技术细节
useGeneratedKeys =true 这个表示插入数据之后返回一个自增的主键id给你对应实体类中的主键属性。通过这个设置可以解决在主键自增的情况下通过实体的getter方法获取主键
keyProperty=“id“
keyproperty指明数据库中返回的主键id给实体类中的哪个属性
keyproperty=主键,这样就可以解决在主键自增的情况下获取主键。
实例:
int add(TestDo testDo);
- xml层
<insert id="add" parameterType="TestDo"
useGeneratedKeys="true" keyProperty="id">
insert into table
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="comment != null">
comment,
</if>
<if test="ctime != null">
ctime,
</if>
<if test="utime != null">
utime,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="comment != null">
#{comment,jdbcType=VARCHAR},
</if>
<if test="ctime != null">
#{ctime},
</if>
<if test="utime != null">
#{utime},
</if>
</trim>
</insert>
小结
有其他如下的LAST_INSERT_ID()等方法,不过个人还是用以上方法较多。
<selectKey keyProperty="id" order="AFTER" resultType="integer">
select LAST_INSERT_ID()
</selectKey>