代码生成器
AutoGenerator 是 sql-plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。:
使用教程
AutoGenerator:
AutoGenerator是sql-plus代码生成器主类,内置execute,createModel,createWeb,createService,createMapper,xmlMapper等方法。。
1、execute 方法可快速生成Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码。
2、createModel 可快速生成实体类并默认继承sql-plus Model类(可在GlobalConfig 类中自定义父类)使用@Data注解修饰get set方法。
3、createWeb 可快速生成Controller类并字段添加@RestController 注解与@RequestMapping("/模块") 注解,如果当前注解不满足你开发需要,可修改底层源码即可。
4、createService可快速生成Service模块接口与实现类,实现类通过添加@Service注解修饰,如果当前注解不满足你开发需要,可修改底层源码即可。
5、createMapper可快速生成Mapper接口通过添加@Mapper注解修饰,如果当前注解不满足你开发需要,可修改底层源码即可。
6、xmlMapper可快速生成Mapper接口相对应的xml文件默认生成通用map与通用查询结果列,如果您不想生成可在GlobalConfig配置中配置即可。
DataSource:
DataSource是代码生成器获取数据源配置类,内置get方法获取当前数据库连接属性,close方法关闭当前数据源。
GlobalConfig:
GlobalConfig全局配置类:例如代码输出路径,开发者,是否添加swagger2注解,操作数据库,xml是否生成通过查询结果与通用的map等具体可参考源码及注释。
PackageConfig:
PackageConfig代码生成器包路径配置类:通过当前类可配置Controller,Service以及实现类,Mapper接口,xml输出路劲以及实体类包名配置,如不想修改可使用默认值即可,具体可参考源码及注释。
具体案例:
@Test
public void testGenerator() {
DataSource source = new DataSource();
source.setUrl("jdbc:mysql://localhost:3306/tmc_info?useUnicode=true&characterEncoding=utf8&serverTimezone=CTT");
source.setUsername("root");
source.setPassword("root");
source.setDriverName("com.mysql.cj.jdbc.Driver");
GlobalConfig global = new GlobalConfig();
global.setConnection(source.get());
global.setAuthor("王小扣");
global.setOutputDir("./src/test/java/");//文件输出路径
global.setDatabase("tmc_info");//具体数据库
// global.setSwagger2(true);//swagger实体类注解
// 排除字段
global.setExcludeField(new String[]{"creat_uid","creat_uname","modify_uid","modify_uname","modify_time","creat_time"
,"is_del","is_use","sorting","remarks"});
//global.setExclude(new String[]{"sys_airport","sys_airport_city"}); 排除表
//需要生成表(默认生成所有表)
// global.setInclude(new String[]{"sys_airport", "sys_airport_city",
// "sys_tmc_office", "sys_user_role"});
PackageConfig pc = new PackageConfig();
pc.setParent("com.qiaoyatao.generator");//根路径
AutoGenerator generator = new AutoGenerator();
generator.setGlobal(global);
generator.setPc(pc);
generator.execute();//生成实体类,controller,service,mapper
// generator.createModel();//生成实体类
// generator.createWeb();//生成controller
// generator.createService();//生成service接口及实现类
// generator.createMapper();//生成Mapper接口
// generator.xmlMapper();//生成Mapper所对应xml文件
source.close();
}
通过以上代码即可轻松生成三层类文件。。。