useGeneratedKeys和keyColumn和keyProperty
时间: 2024-02-27 16:52:55 浏览: 25
这三个属性都是 MyBatis 中用于获取自增主键值的属性,它们的作用如下:
1. `useGeneratedKeys` 属性:用于指定是否需要获取自增主键值。如果设置为 true,则会告诉 MyBatis 使用数据库自增主键来生成主键值,否则需要在插入数据后手动获取主键值。例如:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true">
insert into user(username, password) values (#{username}, #{password})
</insert>
```
2. `keyColumn` 属性:用于指定数据库自增主键的列名。如果未指定,则会使用默认值。例如:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyColumn="id">
insert into user(username, password) values (#{username}, #{password})
</insert>
```
3. `keyProperty` 属性:用于指定要将自增主键值设置到哪个实体类属性中。例如:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
insert into user(username, password) values (#{username}, #{password})
</insert>
```
当执行完插入操作后,MyBatis 会将自增主键的值通过反射设置到 `id` 属性中。注意,如果 `keyProperty` 指定的属性在实体类中不存在,则会报错。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)