Mybatis Plus 怎么关闭useGeneratedKeys = false
时间: 2023-02-11 12:19:32 浏览: 188
Mybatis Plus 中,可以在全局配置文件中关闭 useGeneratedKeys = false。
配置方法如下:
1. 打开Mybatis Plus全局配置文件
2. 在配置文件中添加 `useGeneratedKeys = false`
3. 保存配置文件
4. 重新启动项目
使用这种方法关闭useGeneratedKeys=false,在整个应用中都会生效。
如果只想在某个mapper中生效。可以在mapper接口中使用@Options,其中 useGeneratedKeys 参数为false。例如:
```
@Options(useGeneratedKeys = false, keyProperty = "id")
int insert(User user);
```
通过设置这个Options可以禁用接口中 insert 语句的使用自动生成的主键的特性。
相关问题
mybatis中的useGeneratedKeys="true" keyProperty="id"
在 MyBatis 中,`useGeneratedKeys` 是一个配置选项,用于指示是否使用自动生成的主键。当设置为 `true` 时,MyBatis 会将生成的主键值返回给应用程序,并将其映射到指定的属性上(使用 `keyProperty`),通常是一个 Java 对象的属性。
例如,考虑下面的示例代码片段:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO users (username, password) VALUES (#{username}, #{password})
</insert>
```
在这个示例中,`useGeneratedKeys` 被设置为 `true`,表示希望使用自动生成的主键。而 `keyProperty` 被设置为 `id`,表示将生成的主键值映射到名为 `id` 的属性上。
这样,在执行插入操作后,MyBatis 将会将生成的主键值赋值给相应的属性 `id`,以便应用程序可以访问并使用该值。
mybatis中 useGeneratedKeys="true" keyProperty="id"这两个属性的作用
`useGeneratedKeys="true"`表示在向数据库插入新记录时,使用数据库自动生成的主键值。如果设置为`false`,则需要手动设置主键值。
`keyProperty="id"`表示将主键值赋值给Java对象中的哪个属性。这里的`id`是Java对象的属性名,需要与数据库中的主键列名一致。
举个例子,假设我们有一个`User`类,其中包含`id`、`name`、`age`三个属性,而数据库表中也有`id`、`name`、`age`三个列。如果我们想在向数据库插入新用户时,自动获取主键值并设置到`User`对象的`id`属性中,那么可以这样配置`<insert>`标签:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
insert into user(name, age) values(#{name}, #{age})
</insert>
```
这样,在执行`insertUser`操作时,MyBatis会自动获取数据库生成的主键值,并将其设置到`User`对象的`id`属性中。