在mysql中插入一条数据后,返回该条数据的id ,假如之后代码需要这个id,内容如下:
<insert id="saveUser" useGeneratedKeys="true" keyProperty="userId" parameterType="User">
insert into user(name,password,age) values(#{name},#{password},#{age})
</insert>
测试代码如下:
User user = new User(); user.setName("张三"); user.setPassword("123456"); System.out.println("插入数据前主键为:" user.getUserId()); //输出结果null //调用方法 userDao.saveUser(user); System.out.println("插入数据后主键为:" user.getUserId()); //输出结果是插入数据新增的id: 21
注意:useGeneratedKeys默认值是:false。
含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。
如果使用的是mybatis-plus,则使用自带插入方法插入,然后根据对应的领域模型获取主键id即可。