mysql insert返回id xml_Mybatis 插入数据后返回自增主键ID
1 xml 映射文件中处理在映射器中配置获取记录主键值在xml中 insert 标签中定义 :* useGeneratedKeys为true,用来设置返回主键id的值,* keyProperty 代表数据库记录主键字段* keyColumn 代表 java对象成员属性名insertinto t_user (name,age) values (#{name},#{age})2 接口注解处理在接口..
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})
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)