# CodeGenerator
**Repository Path**: lanche2016/CodeGenerator
## Basic Information
- **Project Name**: CodeGenerator
- **Description**: CodeGenerator是一个轻量的代码生成工具,可以在常规的项目开发初始阶段生成model、dao、Mapper、
mapper(mybatis)、service、controller,项目思路来源于mybatis-generator,不过代码更加简洁易控制
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 28
- **Created**: 2017-08-20
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
代码自动生成工具
一、简介
1.1 概述
CodeGenerator是一个轻量的代码生成工具,可以在常规的项目开发初始阶段生成model、dao、Mapper、
mapper(mybatis)、service、controller,项目思路来源于mybatis-generator,不过代码更加简洁易控制
1.2 特性
1.2.1、代码运行既可以下载源码运行AppTest测试用例,也可以使用maven插件的方式运行(推荐使用)
1.2.2、代码模块可以自定义生成,比如只需要model、dao,Mapper、mapper的代码,可以在配置文件配置,生成目录也可以配置,规则是约定大于配置
1.2.3、可以修改自定义的模版样式
1.3 使用方式
1.3.1、首页check源码在本地,如果需要本地测试用例运行,请看AppTest
public class AppTest {
private static ApplicationContext context;
private static GeneratorFactoryImpl generatorFactory;
@BeforeClass
public static void beforeClass(){
try {
context = new ClassPathXmlApplicationContext("classpath:spring-generator.xml");
generatorFactory=(GeneratorFactoryImpl)context.getBean("generatorFactory");
} catch (BeansException e) {
e.printStackTrace();
}
}
@AfterClass
public static void doAfter(){
if(context !=null && context instanceof ClassPathXmlApplicationContext){
((ClassPathXmlApplicationContext) context).close();
}
}
@Test
public void codeGeneratorTest() {
generatorFactory.defaultGeneratorStarter();
}
}
1.3.2、运行之前需要修改一下spring-generator.xml,配置每个模块的生成器
2、运行之前需要修改一下config-generator.properties,配置数据源等信息
##mysql连接配置
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/shiro
jdbc.username=root
jdbc.password=root
generator.authorName=HuJiFang
##是否生成注释
generator.annotation=false
##生成代码位置
generator.location=src
##文件包名称
generator.project.name=main
##生成那些层
generator.layers=mapper,mapperConfig,model,service,result
##包名称
generator.basePackage=com.oneplus.code.temp
##表名称,多个用逗号分隔(,)
generator.tables=sys_privilege_menu
##过滤掉代码表的前缀
generator.table.prefix=sys_
##浮点型转化为:BigDecimal,否则转化为:Double
generator.precision=high
##生成Service domain后缀名称
generator.domain.suffix=Dto
1.3.3 maven插件使用方式
在pom文件中定义插件
com.oneplus.maven.plugins
code-generator
${codeGenerator.version}
1.4 代码生成略览
sys_privilege_menu
id,menu_desc,menu_name,menu_app_id,menu_create_time,menu_create_pid,menu_create_pname,menu_modify_time,menu_modify_pid,menu_modify_pname,menu_code,menu_status
AND id = #{id}
AND menu_desc = #{menuDesc}
AND menu_name = #{menuName}
AND menu_app_id = #{menuAppId}
= #{startTime1}]]>
AND menu_create_pid = #{menuCreatePid}
AND menu_create_pname = #{menuCreatePname}
= #{startTime2}]]>
AND menu_modify_pid = #{menuModifyPid}
AND menu_modify_pname = #{menuModifyPname}
AND menu_code = #{menuCode}
AND menu_status = #{menuStatus}
WHERE id = #{id}
ORDER BY ${sortByParamNames} ${sortByParamTypes}
ORDER BY ${sortByParamNames}
ORDER BY ${sortByParamTypes}