依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- 模板引擎 代码生成 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!-- 模板引擎 代码生成 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
public static void main(String[] args) {
AutoGenerator ag = new AutoGenerator();
//开启连接数据库
DataSourceConfig dsc = new DataSourceConfig();
// oracle
// dsc.setUrl("jdbc:oracle:thin:@10.0.0.22:1521:orcl");
// dsc.setDriverName("oracle.jdbc.driver.OracleDriver");
// dsc.setUsername("C##gjh");
// dsc.setPassword("123456");
// msyql
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/bank?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root123");
ag.setDataSource(dsc);
//设置全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("F:\\ping");
gc.setAuthor("guanjihang");
gc.setFileOverride(true);
gc.setOpen(false);
gc.setMapperName("%sMapper");//OrderMapper
gc.setXmlName("%sMapper");//OrderMapper.xml
gc.setServiceName("%sService");//Service
gc.setServiceImplName("%sServiceImpl");
gc.setControllerName("%sCtrl");
ag.setGlobalConfig(gc);
//设置包名
PackageConfig pc = new PackageConfig();
pc.setParent("com.qingge.springboot");
pc.setMapper("mapper");
pc.setEntity("pojo");
pc.setController("controller");
pc.setService("services");
pc.setServiceImpl("services.impl");
//设置每个类的主键方式
gc.setIdType(IdType.AUTO);
//设置日期类型
gc.setDateType(DateType.ONLY_DATE);
ag.setPackageInfo(pc);
//设置策略
StrategyConfig sc = new StrategyConfig();
sc.setEntityLombokModel(true);
sc.setRestControllerStyle(true);
sc.setColumnNaming(NamingStrategy.underline_to_camel);
sc.setNaming(NamingStrategy.underline_to_camel);
ag.setStrategy(sc);
ag.execute();
}
生成工具类
public static void main(String[] args) {
AutoGenerator ag = new AutoGenerator();
// //开启连接数据库
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/qing?useUnicode=true&useSSL=false&characterEncoding=utf8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
ag.setDataSource(dsc);
//设置全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir("/Users/xiaobaihao/Desktop/pure-design-master/src/main/java");
gc.setAuthor("xiaobaihao、");
gc.setFileOverride(true);
gc.setOpen(false);
gc.setMapperName("%sMapper");//OrderMapper
gc.setXmlName("%sMapper");//OrderMapper.xml
gc.setServiceName("%sService");//Service
gc.setServiceImplName("%sServiceImpl");
gc.setControllerName("%sCtrl");
ag.setGlobalConfig(gc);
//设置包名
PackageConfig pc = new PackageConfig();
pc.setParent("com.qingge.springboot");
pc.setMapper("mapper");
pc.setEntity("entity");
pc.setController("controller");
pc.setService("services");
pc.setServiceImpl("services.impl");
//设置每个类的主键方式
gc.setIdType(IdType.AUTO);
//设置日期类型
gc.setDateType(DateType.ONLY_DATE);
ag.setPackageInfo(pc);
//设置策略
StrategyConfig sc = new StrategyConfig();
sc.setEntityLombokModel(true);
sc.setRestControllerStyle(true);
sc.setColumnNaming(NamingStrategy.underline_to_camel);
sc.setNaming(NamingStrategy.underline_to_camel);
ag.setStrategy(sc);
ag.execute();
}
生成单张表的话可以用
导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
<version>2.4.8</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.3.1</version>
</dependency>
package com.stu;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.sql.Types;
import java.util.Collections;
/**
* <p>
* mysql 代码生成器
* </p>
*/
public class Generator {
public static void main(String[] args) {
String url = "jdbc:sqlserver://127.0.0.1:1433;database=zjh";
String username = "sa";
String passwrod = "pass123.";
FastAutoGenerator.create(url, username, passwrod)
.globalConfig(builder -> {
builder.author("baomidou") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("F://"); // 指定输出目录
})
.dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
int typeCode = metaInfo.getJdbcType().TYPE_CODE;
if (typeCode == Types.SMALLINT) {
// 自定义类型转换
return DbColumnType.INTEGER;
}
return typeRegistry.getColumnType(metaInfo);
}))
.packageConfig(builder -> {
builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
.moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "F://")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("PR_PR") // 设置需要生成的表名
.addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}