开发中碰到用户注册的功能需要用到用户ID,但是用户ID是数据库自增生成的,这种情况上网查询后使用下面的方式配置mybatis的insert语句可以解决
<insert id="insert" keyProperty="id" useGeneratedKeys="true" parameterType="com.kdchain.credit.domain.LotteryGoods">
insert into lottery_goods (id, user_id,record_id, mobile,
full_name, goods_type, goods_name,
address, postal_code, logistics_name,
logistics_code, status, remark,
winning_date,expire_time, create_time, update_time
)
values (#{id,jdbcType=INTEGER}, #{userId,jdbcType=INTEGER}, #{recordId,jdbcType=INTEGER},#{mobile,jdbcType=VARCHAR},
#{fullName,jdbcType=VARCHAR}, #{goodsType,jdbcType=TINYINT}, #{goodsName,jdbcType=VARCHAR},
#{address,jdbcType=VARCHAR}, #{postalCode,jdbcType=VARCHAR}, #{logisticsName,jdbcType=VARCHAR},
#{logisticsCode,jdbcType=VARCHAR}, #{status,jdbcType=TINYINT}, #{remark,jdbcType=VARCHAR},
#{winningDate,jdbcType=TIMESTAMP},#{expireTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
数据库中该表表的主键ID是自增的。
@Override
public BaseResponse<?> insert(LotteryGoods lotteryGoods) {
int id = lotteryGoodsMapper.insert(lotteryGoods);
System.out.println(id);
System.out.println(lotteryGoods.getId()+"-----------");
return new BaseResponse<>();
}