经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » PostgreSQL » 查看文章
SpringBoot3集成PostgreSQL
来源:cnblogs  作者:知了一笑  时间:2024/3/25 8:54:01  对本文有异议

标签:PostgreSQL.Druid.Mybatis.Plus;

一、简介

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

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

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

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

二、工程搭建

1、工程结构

2、依赖管理

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

  1. <!-- Postgresql -->
  2. <dependency>
  3. <groupId>org.postgresql</groupId>
  4. <artifactId>postgresql</artifactId>
  5. <version>${postgresql.version}</version>
  6. </dependency>
  7. <!-- Druid组件 -->
  8. <dependency>
  9. <groupId>com.alibaba</groupId>
  10. <artifactId>druid-spring-boot-3-starter</artifactId>
  11. <version>${druid-spring-boot.version}</version>
  12. </dependency>
  13. <!-- MybatisPlus组件 -->
  14. <dependency>
  15. <groupId>com.baomidou</groupId>
  16. <artifactId>mybatis-plus-boot-starter</artifactId>
  17. <version>${mybatis-plus.version}</version>
  18. </dependency>
  19. <dependency>
  20. <groupId>com.baomidou</groupId>
  21. <artifactId>mybatis-plus-generator</artifactId>
  22. <version>${mybatis-plus.version}</version>
  23. </dependency>

三、PostgreSQL配置

1、数据库配置

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

  1. spring:
  2. datasource:
  3. type: com.alibaba.druid.pool.DruidDataSource
  4. druid:
  5. # 数据库
  6. url: jdbc:postgresql://127.0.0.1:5432/pg-data-14
  7. username: postgres
  8. password: postgres
  9. driver-class-name: org.postgresql.Driver
  10. # 连接池-初始化大小
  11. initial-size: 10
  12. # 连接池-最大连接数
  13. max-active: 100
  14. # 最大等待时间
  15. max-wait: 60000
  16. # 连接池-最小空闲数
  17. min-idle: 10
  18. # 检测空闲连接
  19. test-while-idle: true
  20. # 最小空闲时间
  21. min-evictable-idle-time-millis: 300000

2、逆向工程类

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

  1. public class GeneratorMybatisPlus {
  2. private static final String jdbcUrl = "数据库地址";
  3. private static final String outDir = "存放路径";
  4. public static void main(String[] args) {
  5. // 数据源配置
  6. DataSourceConfig dataSourceConfig = new DataSourceConfig.Builder
  7. (jdbcUrl,"postgres","postgres")
  8. .build();
  9. // 代码生成器
  10. AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfig);
  11. // 全局配置
  12. GlobalConfig globalConfig = new GlobalConfig.Builder()
  13. .outputDir(outDir).disableOpenDir().author("知了一笑") // .enableSwagger()
  14. .build();
  15. // 分包配置
  16. PackageConfig packageConfig = new PackageConfig.Builder()
  17. .parent("com.boot.pgsql.generator").controller("controller")
  18. .service("dao").serviceImpl("dao.impl").mapper("mapper").entity("entity")
  19. .build();
  20. // 策略配置
  21. StrategyConfig strategyConfig = new StrategyConfig.Builder()
  22. .addInclude("user_info","sys_user")
  23. .addTablePrefix("")
  24. .entityBuilder().enableLombok()
  25. .naming(NamingStrategy.underline_to_camel)
  26. .columnNaming(NamingStrategy.underline_to_camel)
  27. .controllerBuilder().formatFileName("%sController")
  28. .entityBuilder().formatFileName("%s")
  29. .serviceBuilder().formatServiceFileName("%sDao").formatServiceImplFileName("%sDaoImpl")
  30. .mapperBuilder().formatMapperFileName("%sMapper").formatXmlFileName("%sMapper")
  31. .build();
  32. autoGenerator.global(globalConfig);
  33. autoGenerator.packageInfo(packageConfig);
  34. autoGenerator.strategy(strategyConfig);
  35. // 执行
  36. autoGenerator.execute();
  37. }
  38. }

四、参考源码

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

原文链接:https://www.cnblogs.com/cicada-smile/p/18092442

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号