标签: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、安装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、工程结构
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-14username: 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脚本和基础案例,以及相关单元测试不再赘述,参考源码仓库即可。
publicclassGeneratorMybatisPlus{privatestaticfinalString jdbcUrl ="数据库地址";privatestaticfinalString outDir ="存放路径";publicstaticvoidmain(String[] args){// 数据源配置DataSourceConfig dataSourceConfig =newDataSourceConfig.Builder(jdbcUrl,"postgres","postgres").build();// 代码生成器AutoGenerator autoGenerator =newAutoGenerator(dataSourceConfig);// 全局配置GlobalConfig globalConfig =newGlobalConfig.Builder().outputDir(outDir).disableOpenDir().author("知了一笑")// .enableSwagger().build();// 分包配置PackageConfig packageConfig =newPackageConfig.Builder().parent("com.boot.pgsql.generator").controller("controller").service("dao").serviceImpl("dao.impl").mapper("mapper").entity("entity").build();// 策略配置StrategyConfig strategyConfig =newStrategyConfig.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
版权归原作者 知了一笑 所有, 如有侵权,请联系我们删除。