jq获取id的名称_Mybatis 插入数据后返回自增主键ID

6bb5a100bc4d802cf11aa5e1492d5386.png

1 xml 映射文件中处理

在映射器中配置获取记录主键值

在xml中 insert 标签中定义 :
* useGeneratedKeys为true,用来设置返回主键id的值,
* keyProperty 代表数据库记录主键字段
* keyColumn 代表 java对象成员属性名

         insert  into t_user (name,age) values (#{name},#{age})

2 接口注解处理

在接口映射器中通过注解@Options分别设置参数useGeneratedKeys,keyProperty,keyColumn值 如下

// 返回主键字段id值@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")@Insert("insert  into t_user (name,age) values (#{name},#{age})")void insert(Student stu);

3 Mybatis Plus 中

调用 BaseMapper 的 insert方法后 ,默认将自增主键封装在 插入对象中

4 聊一聊 useGeneratedKeys

在MyBatis中,允许设置名称为“useGeneratedKeys”参数存在3个位置如下:

  • 在settings元素中设置useGeneratedKeys参数
  • 在xml映射器中设置useGeneratedKeys参数
  • 在接口映射器中设置useGeneratedKeys参数 ##### 4.1 在settings元素中设置useGeneratedKeys参数 对于支持自动生成记录主键的数据库,如:MySQL,SQL Server,此时设置useGeneratedKeys参数值为true,在执行添加记录之后可以获取到数据库自动生成的主键ID。

5 注意事项

使用useGeneratedKeys生成主键时,不能在DAO层使用@Param注解传递参数,否则无法获取主键。

///Dao层对应的代码  不能使用 @Param注解传递参数/// Long savNewUser(@Param("user") User user); Long savNewUser( User user);///Mapper对应的映射层      insert into t_user(u_name,u_age) VALUES (#{user.userName},#{user.userAget}) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值