Mybatis 插入数据返回主键(Mysql数据库)
程序员文章站
2022-06-02 19:02:52
...
- 方式一:仅支持Mysql数据库
-
<!-- keyProperty:设置为对象的主键id属性名称。 keyColumn:设置为数据库记录的主键id字段名称。 useGeneratedKeys:值范围true|false 默认值是:false。 含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。 --> <insert id="insertUser" parameterType="com.ying.pojo.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id"> insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}) </insert>
说明:调用mapper的insert方法后,如果成功,那么mybaits会自动把主键的id返回并赋值给你传进来的bean
事务中的插入需设置useGeneratedKeys="true" 属性才可返回生成的主键(正常情况下是事务中的一组操作完成以后才会真正执行插入语句,无法在方法执行过程中返回插入数据的主键id;加此字段后可解决此问题)