mybatis plus 适配pg库
时间: 2023-09-03 16:06:55 浏览: 227
MyBatis Plus 默认支持 PostgreSQL 数据库,无需额外适配。在使用时只需要设置对应的数据源、配置文件和实体类映射即可。以下是一个简单的示例:
1. 添加依赖
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.23</version>
</dependency>
```
2. 配置数据源
```properties
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=postgres
spring.datasource.password=123456
spring.datasource.driver-class-name=org.postgresql.Driver
```
3. 配置 MyBatis Plus
在 MyBatis Plus 的配置文件中,需要设置一些 PostgreSQL 特有的参数,例如数组类型的映射、标识符的转义等。
```properties
# 配置数组类型的映射
mybatis.type-handlers-package=com.baomidou.mybatisplus.extension.handlers
# 配置标识符的转义
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.configuration.jdbc-type-for-null=null
mybatis.configuration.local-cache-scope=STATEMENT
mybatis.configuration.cache-enabled=false
mybatis.configuration.default-fetch-size=100
mybatis.configuration.default-statement-timeout=30
mybatis.configuration.default-executor-type=reuse
mybatis.configuration.default-auto-mapping=JDBC
mybatis.configuration.default-statement-type=PREPARED
mybatis.configuration.default-use-column-label=true
mybatis.configuration.default-use-generated-keys=false
mybatis.configuration.default-statement-result-type=HASH_MAP
mybatis.configuration.default-scripting-language=VelocitySQL
mybatis.configuration.default-enum-type-handler=org.apache.ibatis.type.EnumOrdinalTypeHandler
mybatis.configuration.default-map-type-handler=org.apache.ibatis.type.MapTypeHandler
mybatis.configuration.default-date-type-handler=org.apache.ibatis.type.DateTypeHandler
mybatis.configuration.default-calendar-type-handler=org.apache.ibatis.type.CalendarTypeHandler
mybatis.configuration.default-numeric-type-handler=org.apache.ibatis.type.BigDecimalTypeHandler
mybatis.configuration.default-lob-handler=com.baomidou.mybatisplus.extension.handlers.OracleLobHandler
mybatis.configuration.default-boolean-type-handler=org.apache.ibatis.type.BooleanTypeHandler
mybatis.configuration.default-byte-type-handler=org.apache.ibatis.type.ByteTypeHandler
mybatis.configuration.default-short-type-handler=org.apache.ibatis.type.ShortTypeHandler
mybatis.configuration.default-integer-type-handler=org.apache.ibatis.type.IntegerTypeHandler
mybatis.configuration.default-long-type-handler=org.apache.ibatis.type.LongTypeHandler
mybatis.configuration.default-float-type-handler=org.apache.ibatis.type.FloatTypeHandler
mybatis.configuration.default-double-type-handler=org.apache.ibatis.type.DoubleTypeHandler
mybatis.configuration.default-string-type-handler=org.apache.ibatis.type.StringTypeHandler
mybatis.configuration.default-byte-array-type-handler=org.apache.ibatis.type.ByteArrayTypeHandler
mybatis.configuration.default-object-type-handler=org.apache.ibatis.type.ObjectTypeHandler
mybatis.configuration.default-clob-type-handler=org.apache.ibatis.type.ClobTypeHandler
mybatis.configuration.default-reader-type-handler=org.apache.ibatis.type.ReaderTypeHandler
mybatis.configuration.default-input-stream-type-handler=org.apache.ibatis.type.InputStreamTypeHandler
mybatis.configuration.default-blob-type-handler=org.apache.ibatis.type.BlobTypeHandler
mybatis.configuration.default-uuid-type-handler=org.apache.ibatis.type.EnumOrdinalTypeHandler
mybatis.configuration.default-time-zone=GMT+8
```
4. 配置实体类映射
在实体类的属性上使用注解或配置文件来映射数据库字段。例如:
```java
@Data
public class User {
@TableId
private Long id;
@TableField("user_name")
private String userName;
private Integer age;
}
```
```xml
<!-- 配置实体类映射 -->
<bean id="userMapper" class="com.baomidou.mybatisplus.core.mapper.BaseMapper">
<property name="entityClass" value="com.example.User"/>
<property name="mapperClass" value="com.example.UserMapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
```
以上就是在 MyBatis Plus 中适配 PostgreSQL 数据库的基本步骤。如果有更复杂的需求,可以参考官方文档或在社区中寻求帮助。
阅读全文