在项目开发中遇到的需求:插入一条新记录的同时返回该记录的id。项目使用的是mysql数据库,id是自增的,查找资料后得知Mybatis的Mapper.xml的insert中设置:useGeneratedKeys="true" keyProperty="对象中的属性名"
<insert id="insert" parameterType="com.xx.xxx.entity.TUser" useGeneratedKeys="true" keyProperty="id">
<!--
@mbggenerated
-->
insert into xxxx.t_user (id, username, password,
bak)
values (#{id,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},
#{bak,jdbcType=VARCHAR})
</insert>
在Mapper.xml文件中设置完后,在插入记录后,就会返回id值给对象,直接通过对象get方法就可以获得id。
User user = new User();
user.setUsername("wxz");
user.setPassword("123456");
tUserMapper.insert(user);
user.getId();
其他获取获取自增ID的方法Mysql获取自增ID的四种方法
本文介绍在Mybatis中如何配置插入新记录同时返回自增ID的方法,适用于使用mysql数据库的项目。通过在Mapper.xml的insert标签中设置useGeneratedKeys=true和keyProperty属性,可以实现在插入记录后直接从对象中获取到新生成的ID。
996

被折叠的 条评论
为什么被折叠?



