springboot pgsql mybatis生成
时间: 2025-02-01 10:36:10 浏览: 52
### 使用 MyBatis Plus 和 PostgreSQL 进行代码生成
在 Spring Boot 项目中集成 MyBatis Plus 并实现针对 PostgreSQL 数据库的代码自动生成是一项常见的开发需求。这不仅提高了编码效率,还减少了手动编写重复代码的工作量。
#### 添加依赖项
为了使 MyBatis Plus 能够与 PostgreSQL 协同工作,在 `pom.xml` 文件中需引入必要的 Maven 依赖:
```xml
<dependencies>
<!-- Spring Boot Starter for Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis Plus Starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!-- PostgreSQL JDBC Driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Code Generator Module of MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- Template Engine Velocity (or you can choose Freemarker) -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
```
上述配置确保了应用程序能够连接到 PostgreSQL 数据库并利用 MyBatis Plus 的功能[^1]。
#### 配置数据库连接
编辑 `application.properties` 或者 `application.yml` 来设置 PostgreSQL 数据源的相关参数:
```yaml
spring:
datasource:
url: jdbc:postgresql://localhost:5432/your_database_name
username: your_username
password: your_password
driver-class-name: org.postgresql.Driver
```
此部分设定允许应用通过指定 URL 访问特定实例上的 PostgreSQL 数据库,并提供认证凭证以便建立有效会话。
#### 初始化代码生成器
创建一个新的 Java 类来初始化 MyBatis Plus 提供的自动代码生成功能。下面是一个简单的例子展示如何完成这项任务:
```java
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
public class CodeGenerator {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 设置全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("Your Name"); // 替换成自己的名字
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 设置数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:postgresql://localhost:5432/your_database_name");
dsc.setDriverName("org.postgresql.Driver");
dsc.setUsername("your_username");
dsc.setPassword("your_password");
mpg.setDataSource(dsc);
// 设置包配置
PackageConfig pc = new PackageConfig();
pc.setParent("com.example.demo");
pc.setModuleName(null); // 如果不需要模块名可以设为空
mpg.setPackageInfo(pc);
// 设置策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("table_1", "table_2"); // 可选填表名列表
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
mpg.setStrategy(strategy);
// 执行生成操作
mpg.execute();
}
}
```
这段程序定义了一个名为 `CodeGenerator` 的类,它负责调用 MyBatis Plus 自动化工具来自动生成基于给定模式下的实体、映射接口以及其他支持文件。
阅读全文
相关推荐














