使用mybatis generator 工具可生成代码
第一步 pom.xml中 引入依赖
下发引入generator
包与模板引擎velocity包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
新建类,执行main
文件
public class GeneratorTest {
//代码生成保存目录
private final static String out="J:\\DEMO\\code\\api-server\\tmp";
//JDBC数据源
private final static String jdbc="jdbc:mysql://localhost:3306/java_dev?useUnicode=true&useSSL=false&characterEncoding=utf8";
//数据库账号
private final static String db_user="root";
//数据库密码
private final static String db_paswword="root";
//表前缀
private final static String table_prefix="eb_";
//包名
private static final String package_name="com.gxxblw.web";
private static final String author="哈根达斯";
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
File file=new File(out);
File[] files= file.listFiles();
for (int i=0;i<files.length;i++){
files[i].deleteOnExit();
}
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(out);
gc.setAuthor(author);
gc.setOpen(true);
//自定义Mappter文件名
gc.setMapperName("%sDao");
gc.setSwagger2(true); //实体属性 Swagger2 注解
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl(jdbc);
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername(db_user);
dsc.setPassword(db_paswword);
mpg.setDataSource(dsc);
/*TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setMapper("dao");
templateConfig.setEntityKt("domain");
templateConfig.setXml(null);
mpg.setTemplate(templateConfig);*/
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(scanner("模块名"));
pc.setParent(package_name);
pc.setMapper("dao");
pc.setEntity("model");
mpg.setPackageInfo(pc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
strategy.setTablePrefix(table_prefix);
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new VelocityTemplateEngine());
mpg.execute();
}
public static String scanner(String tip) {
Scanner scanner = new Scanner(System.in);
StringBuilder help = new StringBuilder();
help.append("请输入" + tip + ":");
System.out.println(help.toString());
if (scanner.hasNext()) {
String ipt = scanner.next();
if (StringUtils.isNotBlank(ipt)) {
return ipt;
}
}
throw new MybatisPlusException("请输入正确的" + tip + "!");
}
}
执行成功后保存目录将生成模板代码,更多参数可查看文档 查看代码生成
评论 (0)