userGeneratedKeys
时间: 2023-10-25 14:33:04 浏览: 53
userGeneratedKeys是一个MyBatis的属性,用于指定是否使用JDBC的getGeneratedKeys方法获取由数据库内部生成的主键。默认情况下,userGeneratedKeys为false,需要配合keyProperty属性使用。当userGeneratedKeys设置为true时,MyBatis会通过getGeneratedKeys的返回值设置实体类中的主键属性。
在MyBatis中,有两种方式可以使用userGeneratedKeys属性:
1. 使用useGeneratedKeys属性:
- 通过将useGeneratedKeys属性设置为true,可以让MyBatis使用JDBC的getGeneratedKeys方法获取生成的主键值。
- 配合keyProperty属性使用,可以将生成的主键值设置到实体类的对应属性中。
- 例如:`<insert id="insertBook" useGeneratedKeys="true" keyProperty="bookId">...</insert>`
2. 使用selectKey子元素:
- 在insert语句中使用selectKey子元素,可以在插入数据后执行一个查询语句,从而获取生成的主键值。
- 例如:`<insert id="insertBook" ...><selectKey keyProperty="bookId" resultType="java.lang.Long" order="AFTER">SELECT LAST_INSERT_ID()</selectKey>...</insert>`
总而言之,userGeneratedKeys属性是用于在MyBatis中插入数据时,自动生成主键并将其赋值给实体类属性的一种方式。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)