Appearance
代码生成器
提供模块 dream-orm-generator 生成代码,需要额外引入。
xml
<dependency>
<groupId>com.dream-orm</groupId>
<artifactId>dream-orm-generator</artifactId>
<version>${dream-orm.version}</version>
</dependency>java
/**
* 代码生成配置
*/
public interface GeneratorHandler {
/**
* 作者名称
*
* @return 作者名称
*/
String author();
/**
* 生成目录
*
* @return 生成目录
*/
String sourceDir();
/**
* 生成时间
*
* @return 生成时间
*/
default String dateTime() {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
}
/**
* 是否覆盖
*
* @param table 数据表
* @return 是否覆盖
*/
default boolean override(String table) {
return false;
}
/**
* 是否生成数据表代码
*
* @param table 数据表
* @return 是否生成数据表代码
*/
boolean support(String table);
/**
* 控制层全类名
*
* @param table 数据表
* @return 控制层全类名
*/
String controllerClassName(String table);
/**
* 接口服务全类名
*
* @param table 数据表
* @return 接口服务全类名
*/
String serviceClassName(String table);
/**
* 接口服务实现全类名
*
* @param table 数据表
* @return 接口服务实现全类名
*/
String serviceImplClassName(String table);
/**
* 实体映射全类名
*
* @param table 数据表
* @return 实体映射全类名
*/
String tableClassName(String table);
/**
* vo视图全类名(列表页字段)
*
* @param table 数据表
* @return vo视图全类名(列表页字段)
*/
String voClassName(String table);
/**
* bo视图全类名(编辑页字段)
*
* @param table 数据表
* @return bo视图全类名(编辑页字段)
*/
String boClassName(String table);
/**
* 查询视图全类名
*
* @param table 数据表
* @return 查询视图全类名
*/
String dtoClassName(String table);
}测试
java
public class HelloWordGeneratorTest {
public static void main(String[] args) {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl("jdbc:mysql://192.168.0.242/d-open");
dataSource.setUsername("root");
dataSource.setPassword("BMW#Halu@1234%");
new Generator(dataSource, new GeneratorHandlerImpl()).generate();
}
public static class GeneratorHandlerImpl extends AbstractGeneratorHandler {
@Override
protected String basePackage() {
return "com.dream.codegen";
}
@Override
public String author() {
return "moxa";
}
@Override
public String sourceDir() {
return "D:\\projects\\dream-project\\dream-orm\\dream-orm-hello-world-generator\\src\\main\\java";
}
@Override
public boolean support(String table) {
return table.contains("user");
}
}
}