数据库添加数据返回主键id

在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即可。

相关推荐