Mybatis | 学习系列 Spring Boot MySql Mybatis 设置主键自增并返回

本文将介绍SpringBoot Mysql 环境下,Mybatis 设置主键自增并返回。

作者本人也是参考网上的写法,中间由于设置自增主键名称和实体类的主键对应不上,所以就把坑记录下来。

UserClient.xml

  <insert id="insert" keyProperty="clientId" useGeneratedKeys="true" parameterType="com.springairlines.security.authorize.model.UserClient" >
    insert into authen_userclientdetails (deviceId, addressIp,
      userId)
    values ( #{deviceid,jdbcType=VARCHAR}, #{addressip,jdbcType=VARCHAR},
      #{userid,jdbcType=VARCHAR})
  </insert>

注意这个  keyProperty="clientId" 是指的实体类中的属性名称,因为我的数据库主键是client_id 所以之前一直没成功!

属性解释说明 :

id = "insert"  : mapper.java中对应的接口

parameterType = "com.security.authorize.model.TokenInfo

"  : 是传进来参数的类型, 这里传进来的是一个数据库表对应的pojo

userGeneratedKeys = "true" : 是在支持主键自增的数据库中使用主键自增属性

 keyProperty = "clientId" 是com.security.authorize.model.TokenInfo这个pojo类中的主键对应属性, 加上这句之后,记录保存之后会把主键设置到 rapId中去

也就是说 执行插入操作之后可以通过 TokenInfo.getTokenId 获取到插入的主键

附加 : 另一个属性 : keyColumn( 只有在自增主键不是在表的第一列时候使用 ) keyColumn = "client_id' (authen_userclientdetails

为表中的列名)

同时 insert 操作会返回一个int值, 该值是表中记录的数目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值