Mybatis-Plus怎么配置postgresql的关键字
时间: 2024-01-11 15:12:40 浏览: 135
Mybatis-Plus 默认使用 MySQL 数据库的关键字和语法规则,而 PostgreSQL 数据库的关键字和语法规则与 MySQL 有所不同。为了在使用 Mybatis-Plus 时能够正确地处理 PostgreSQL 数据库的关键字和语法规则,需要进行相应的配置。
具体操作步骤如下:
1. 在全局配置文件中添加如下配置:
```
mybatis-plus:
db-config:
id-type: auto
column-format: "`%s`"
table-prefix: ""
logic-delete-value: "1"
logic-not-delete-value: "0"
key-generator: com.baomidou.mybatisplus.incrementer.PostgreKeyGenerator
```
其中,`column-format: "`%s`"` 表示对于所有的 SQL 语句生成的列名,都会加上反引号,即将列名用反引号括起来;`key-generator: com.baomidou.mybatisplus.incrementer.PostgreKeyGenerator` 表示使用 PostgreSQL 数据库的自增 ID 生成策略。
2. 在数据表的映射类上添加 `@TableId` 注解,并设置 type 属性为 IdType.AUTO,例如:
```
@TableId(value = "id", type = IdType.AUTO)
private Long id;
```
3. 在数据表的映射类上添加 `@TableName` 注解,并设置 value 属性为数据表的名称,例如:
```
@TableName("user")
public class User {
// 其他属性和方法
}
```
4. 避免使用 PostgreSQL 的关键字作为数据表名或列名。如果确实需要使用 PostgreSQL 的关键字作为数据表名或列名,可以在 `@TableName` 和 `@TableId` 注解中使用 `value` 属性指定数据表名或列名,并在名字的两端使用双引号括起来,例如:
```
@TableName("\"group\"")
public class Group {
@TableId(value = "\"user_id\"", type = IdType.INPUT)
private Long userId;
// 其他属性和方法
}
```
这样,Mybatis-Plus 就可以正确地处理 PostgreSQL 数据库的关键字和语法规则了。
阅读全文