小工具知识网

当前位置: 首页 > 行业知识 > SpringBoot3集成PostgreSQL

行业知识

SpringBoot3集成PostgreSQL

2026-11-02 10:08:57 来源:互联网转载

标签:PostgreSQL.Druid.Mybatis.Plus;

一、简介

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

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

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

# 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、安装PostgreSQLsudo yum install -y postgresql14-server# 3、初始化选项sudo /usr/pgsql-14/bin/postgresql-14-setup initdbsudo systemctl enable postgresql-14sudo systemctl start postgresql-14# 4、查看版本psql --versionpsql (PostgreSQL) 14.11

二、工程搭建

1、工程结构

2、依赖管理

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

    org.postgresql    postgresql    ${postgresql.version}    com.alibaba    druid-spring-boot-3-starter    ${druid-spring-boot.version}    com.baomidou    mybatis-plus-boot-starter    ${mybatis-plus.version}    com.baomidou    mybatis-plus-generator    ${mybatis-plus.version}

三、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-parentPostgreSQL配置参考:https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/database/postgresql/P01、PostgreSQL环境搭建.mdMybatis三种逆向工程:https://gitee.com/cicadasmile/butte-java-note/blob/master/doc/frame/tool/T01、Mybatis三种逆向工程.md

上一篇:揭秘Word数据类型,全面掌握核心要点!

下一篇:远程误删服务器怎么恢复?