simple-base-generator
# 简介
提供工程、代码生成服务及接口
# 使用流程
# 框架设计
# 代码解析
主要设计思路
使用一个接口类,在单独启动工程时默认使用走向mybatis的实现类;
在其他工程使用依赖引入时默认优先走向Feign的接口调用实现类,远程调用单独启动的微服务;
在其他工程使用依赖引入时可选走向mybatis的实现类,使用配置文件某个值作为开关,默认关闭;
1
2
3
2
3
依赖类使用说明
[simple-starter-web]:
CrudOperations: 接口,定义了对【实体】进行CRUD操作的方法
ICrudService: 接口,定义了对【实体】进行CRUD操作的服务层方法
ICrudServiceFeignImpl: 接口实现类,实现了ICrudService接口的Feign客户端实现类,通过Feign调用远程服务。
[simple-starter-datasource]:
BaseController: 视图层,实现了CrudOperations接口,提供了CRUD操作的基础控制器。
BaseServiceImpl: 接口实现类-服务层,实现了ICrudService接口,提供了对数据库的CRUD操作的基础服务类
1
2
3
4
5
6
7
2
3
4
5
6
7
# 使用示例
# 生成工程
启动依赖工程
调用接口地址:
..../simple-base-generator-service/generator/projectGen?projectName=simple-service-generator&packageName=cn.iosd.demo&moduleName=generator
1
# 生成Mybatis代码
main方法调用示例:
public static void main(String[] args) {
DatabaseGenVo vo = new DatabaseGenVo();
vo.setAuthorName("ok1996");
vo.setDataBaseUrl("jdbc:mysql://127.0.0.1:3306/simple_demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true");
vo.setDataBaseUserName("root");
vo.setDataBasePassword("123456");
vo.setPackageName("cn.iosd.demo");
vo.setProjectName("simple-service-generator");
vo.setModuleName("generator");
vo.setTableNames(Collections.singletonList("demo_article"));
vo.setTablePrefix(Collections.singletonList("demo"));
DatabaseGenUtils.generate(vo);
log.info("文件生成目录:" + new File("target/generator").getAbsolutePath());
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
上次更新: 2024/03/25, 02:28:08