SpringBoot3集成PostgreSQL

标签:PostgreSQL.Druid.Mybatis.Plus;

一、简介

PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。

通过官方文档可以找到大量描述如何安装和使用PostgreSQL的信息。

环境搭建,基于Centos7部署的PostgreSQL-14版本,官方文档中提供yum安装的方式,配置的话可以参考源码仓库中的其他版本「见文尾」,这里不赘述。

SpringBoot3集成PostgreSQL

# 1、RPM仓库 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm  # 2、安装PostgreSQL sudo yum install -y postgresql14-server  # 3、初始化选项 sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14  # 4、查看版本 psql --version psql (PostgreSQL) 14.11 

二、工程搭建

1、工程结构

SpringBoot3集成PostgreSQL

2、依赖管理

Druid连接池使用的是1.2.18版本;使用mybatis-plus组件的3.5.3.1版本;PostgreSQL本地环境是14.11版本,这里依赖包使用42.6.2版本;

<!-- Postgresql --> <dependency>     <groupId>org.postgresql</groupId>     <artifactId>postgresql</artifactId>     <version>${postgresql.version}</version> </dependency> <!-- Druid组件 --> <dependency>     <groupId>com.alibaba</groupId>     <artifactId>druid-spring-boot-3-starter</artifactId>     <version>${druid-spring-boot.version}</version> </dependency> <!-- MybatisPlus组件 --> <dependency>     <groupId>com.baomidou</groupId>     <artifactId>mybatis-plus-boot-starter</artifactId>     <version>${mybatis-plus.version}</version> </dependency> <dependency>     <groupId>com.baomidou</groupId>     <artifactId>mybatis-plus-generator</artifactId>     <version>${mybatis-plus.version}</version> </dependency> 

三、PostgreSQL配置

1、数据库配置

有关于Druid连接池的可配置参数还有很多,可以参考源码中的描述或者官方案例,此处只提供部分常见的参数配置;

spring:   datasource:     type: com.alibaba.druid.pool.DruidDataSource     druid:       # 数据库       url: jdbc:postgresql://127.0.0.1:5432/pg-data-14       username: postgres       password: postgres       driver-class-name: org.postgresql.Driver       # 连接池-初始化大小       initial-size: 10       # 连接池-最大连接数       max-active: 100       # 最大等待时间       max-wait: 60000       # 连接池-最小空闲数       min-idle: 10       # 检测空闲连接       test-while-idle: true       # 最小空闲时间       min-evictable-idle-time-millis: 300000 

2、逆向工程类

逆向工程新版本的API语法和之前有变化,但是整体的逻辑还是差不多。其它的SQL脚本和基础案例,以及相关单元测试不再赘述,参考源码仓库即可。

public class GeneratorMybatisPlus {      private static final String jdbcUrl = "数据库地址";     private static final String outDir = "存放路径";      public static void main(String[] args) {         // 数据源配置         DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder                 (jdbcUrl,"postgres","postgres")                 .build();          // 代码生成器         AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfig);          // 全局配置         GlobalConfig globalConfig = new GlobalConfig.Builder()                 .outputDir(outDir).disableOpenDir().author("知了一笑") // .enableSwagger()                 .build();          // 分包配置         PackageConfig packageConfig = new PackageConfig.Builder()                 .parent("com.boot.pgsql.generator").controller("controller")                 .service("dao").serviceImpl("dao.impl").mapper("mapper").entity("entity")                 .build();          // 策略配置         StrategyConfig strategyConfig = new StrategyConfig.Builder()                 .addInclude("user_info","sys_user")                 .addTablePrefix("")                 .entityBuilder().enableLombok()                 .naming(NamingStrategy.underline_to_camel)                 .columnNaming(NamingStrategy.underline_to_camel)                 .controllerBuilder().formatFileName("%sController")                 .entityBuilder().formatFileName("%s")                 .serviceBuilder().formatServiceFileName("%sDao").formatServiceImplFileName("%sDaoImpl")                 .mapperBuilder().formatMapperFileName("%sMapper").formatXmlFileName("%sMapper")                 .build();          autoGenerator.global(globalConfig);         autoGenerator.packageInfo(packageConfig);         autoGenerator.strategy(strategyConfig);          // 执行         autoGenerator.execute();     } } 

四、参考源码

文档仓库: https://gitee.com/cicadasmile/butte-java-note  源码仓库: https://gitee.com/cicadasmile/butte-spring-parent  PostgreSQL配置参考: https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/database/postgresql/P01、PostgreSQL环境搭建.md  Mybatis三种逆向工程: https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/tool/T01、Mybatis三种逆向工程.md 

发表评论

评论已关闭。

相关文章