在业务处理中,我们经常会需要新插入数据的主键id,使用mybatis的话,在mapper.xml中加入下述配置,即可在新数据插入成功后获取其主键Id
- 配置:【keyProperty=”id” useGeneratedKeys=”true”】,其中id是插入表的主键id
<insert id="insertSelective" parameterType="com.jaychou.www.entity.GoodsInfo" keyProperty="id" useGeneratedKeys="true">
insert into goods_info_table
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="goodsCode != null">
goods_code,
</if>
<if test="goodsName != null">
goods_name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=INTEGER},
</if>
<if test="goodsCode != null">
#{goodsCode,jdbcType=VARCHAR},
</if>
<if test="goodsName != null">
#{goodsName,jdbcType=VARCHAR},
</if>
</insert>
在mapper.xml配置好后,代码实现流程大致如下:
把goodsInfo这个对象插入到数据库中:int id = goodsInfoMapper.insertSelective(goodsInfo);
得到新数据的主键Id: int goodsId = goodsInfo.getId();