标签:PostgreSQL.Druid.Mybatis.Plus;
PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。
通过官方文档可以找到大量描述如何安装和使用PostgreSQL的信息。
环境搭建,基于Centos7部署的PostgreSQL-14版本,官方文档中提供yum安装的方式,配置的话可以参考源码仓库中的其他版本「见文尾」,这里不赘述。
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、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
Druid连接池使用的是1.2.18版本;使用mybatis-plus组件的3.5.3.1版本;PostgreSQL本地环境是14.11版本,这里依赖包使用42.6.2版本;
1.2.18
mybatis-plus
3.5.3.1
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 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
<!-- Druid组件 -->
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>${druid-spring-boot.version}</version>
<!-- MybatisPlus组件 -->
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
<artifactId>mybatis-plus-generator</artifactId>
有关于Druid连接池的可配置参数还有很多,可以参考源码中的描述或者官方案例,此处只提供部分常见的参数配置;
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
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
逆向工程新版本的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(); }}
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()
// 分包配置
PackageConfig packageConfig = new PackageConfig.Builder()
.parent("com.boot.pgsql.generator").controller("controller")
.service("dao").serviceImpl("dao.impl").mapper("mapper").entity("entity")
// 策略配置
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")
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
文档仓库:
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
原文链接: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