生成的文件目录结构
在项目的pom文件中,添加依赖:
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis plus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version>
</dependency>
<!--mybatis plus自动生成代码依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.1.1</version>
</dependency>
<!-- mybatis-plus添加 模板引擎-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
自动生成文件代码
有需要的话,生成的 *mapper.xml文件需要自己手动移动到配置文件目录中(比如resource/mapper目录)
package com.cfm.user.util;
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 CodeGenerator {
public static void main(String[] args) {
//连接数据库
String jdbcUrl = "jdbc:mysql://localhost:3306/mywx";
String username = "root";
String password = "root";
//需要生成的数据库表
String IncludeTable= "user_base_info";
//项目本地的地址
String outputDir ="F:/ideaProject/MyWX2/xxxxxxxx/src/main/java";
//生成的文件父目录
String packageParent ="com.xxx.user";
// 全局配置
GlobalConfig config = new GlobalConfig();
config.setActiveRecord(true);//是否支持AR模式
config.setAuthor("author");//作者
config.setOutputDir(outputDir);//生成路径
config.setFileOverride(true);//文件覆盖
config.setIdType(IdType.AUTO);//自增策略
config.setServiceName("%sService");//设置生成的service接口的名字首字母是否有I
config.setBaseResultMap(true);
config.setBaseColumnList(true);
//2.数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);//设置数据库类型
dsc.setUrl(jdbcUrl);
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername(username);
dsc.setPassword(password);
//3.策略配置
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true);//开启全局大写命名
strategyConfig.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategyConfig.setTablePrefix("");//表的前缀
strategyConfig.setInclude(IncludeTable);//需要生成的表;多个表时用 "","",""
strategyConfig.setEntityLombokModel(true);
strategyConfig.setEntityTableFieldAnnotationEnable(true);
strategyConfig.setEntityColumnConstant(true);
//4.包名策略配置
PackageConfig pc = new PackageConfig();
pc.setParent(packageParent)
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("entity")
.setXml("mapper");
//5.整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(config)
.setDataSource(dsc)
.setStrategy(strategyConfig)
.setPackageInfo(pc);
//6.执行
autoGenerator.execute();
}
}