main.class
package com.example;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
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;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class App {
public static void main(String[] args) {
// 全局配置
GlobalConfig globalConfig = globalConfig();
// 数据源配置
DataSourceConfig dataSourceConfig = dataSourceConfig();
// 策略配置
StrategyConfig strategyConfig = strategyConfig();
// 包名策略配置
PackageConfig packageConfig = packageConfig();
// 整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig);
autoGenerator.setDataSource(dataSourceConfig);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.setPackageInfo(packageConfig);
autoGenerator.execute();
}
/**
* 全局配置
*
* @return
*/
private static GlobalConfig globalConfig(){
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(false) // 是否开启AR模式
.setAuthor("admin") // 作者
.setOutputDir(System.getProperty("user.dir")+"/mybatis-plus_code_generator/src/main/java") //生成路径
.setFileOverride(true) //文件是否覆盖
.setIdType(IdType.AUTO) // 主键策略
.setServiceName("%sService") //默认情况下生成的Service接口的名字首字母都带有I
.setBaseResultMap(true) // 是否生成基本的sql中的ResultMap
.setBaseColumnList(true); // 是否生成基本的sql列
return config;
}
/**
* 数据源配置
*
* @return
*/
private static DataSourceConfig dataSourceConfig() {
DataSourceConfig dsconfig = new DataSourceConfig();
// 设置数据库类型
dsconfig.setDbType(DbType.MYSQL);
dsconfig.setDriverName("com.mysql.jdbc.Driver");
dsconfig.setUrl("jdbc:mysql://127.0.0.1:3306/test?userSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
dsconfig.setUsername("root");
dsconfig.setPassword("root");
return dsconfig;
}
/**
* 策略配置
* @return
*/
private static StrategyConfig strategyConfig() {
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true); // 是否大写命名
//strategyConfig.setTablePrefix("t_"); // 表前缀
strategyConfig.setNaming(NamingStrategy.underline_to_camel); // 从数据库表到文件的命名策略
//strategyConfig.setInclude("tars_stat"); // 对应数据库所需要生成的表名
return strategyConfig;
}
/**
* 包名策略配置
* @return
*/
private static PackageConfig packageConfig() {
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.example"); // 所需要生成的包下
packageConfig.setEntity("model"); // 设置实体生成包名
packageConfig.setController("controller"); // 设置控制层包名,以下以此类推
packageConfig.setService("service");
packageConfig.setMapper("mapper");
packageConfig.setXml("mapper");
return packageConfig;
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>mybatis-plus_code_generator</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
<name>mybatis-plus_code_generator</name>
</project>