# AGCode
**Repository Path**: sakakokiya1/AutoGeneratorCode
## Basic Information
- **Project Name**: AGCode
- **Description**: AGCode是一个功能强大且极易操作的文件/代码批量生成引擎,帮助你从繁杂的基础代码编写中彻底解放。 支持数据库所有表的批量生成,使用自定义模板,可以生成任何你需要的文件内容(如数据库设计文档等)。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://agcode.mydoc.io
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 29
- **Created**: 2022-11-12
- **Last Updated**: 2022-11-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AGCode
AGCode是一个功能强大且极易操作的文件/代码批量生成引擎,帮助你从繁杂的基础代码编写中彻底解放。
支持数据库所有表的批量生成,使用自定义模板,可以生成任何你需要的文件内容(如数据库设计文档等)。
框架的开发注重操作的简便性,极易上手,已集成所有依赖包,只需导入一个jar,编写简单的配置即可使用。
[]()
[]()
[](http://www.apache.org/licenses/LICENSE-2.0.html)
* 作者:YouYuan
* 邮箱:xiyousuiyuan#163.com
## 功能介绍
- 使用自动化技术提升工作效率,极大减少人工编码量。
- 支持自定义模板,生成任何你需要的文件内容(不局限于Java文件,也可以生成Python自动化测试脚本等)。
- 生成项目开发中所有的基础代码,例如JavaBean、数据字典、MyBatis映射、DAO、Service、Controller、Javascript、Html等。
- 自动生成数据库设计文档,并且包含数据表的索引信息。
- 框架内部提供多套模板:
- 基于Spring+SpringMVC+Mybatis的代码模板,生成的代码默认实现了增删改查、乐观锁、逻辑删除等功能。
- 基于SpringBoot+MybatisPlus的模板,集成了Swagger、Lombok、Mapstruct等开发框架,自动校验参数、Swagger文档、高性能转换Bean等功能。
- 基于SpringCloud的模板
- 可根据配置自动完成接口设计、表单校验、逻辑删除、乐观锁、区间查询、模糊查询、正则校验等功能。
- 可根据配置将字段的key-value映射进行自动转换,例如`1:男,2:女`,程序可智能解析构建转换列表。
- 全库批量生成,瞬间完成所有基础代码的编写工作。
## 说明文档
[AGCode Wiki文档](https://gitee.com/you-yuan/AutoGeneratorCode/wikis/pages?sort_id=2362818&doc_id=105766 "Wiki文档")
## 快速开始
可下载build文件夹中的jar包,参照示例即可快速上手使用。
> 请动动小手帮忙点击右上角Star \~^_^\~ 谢谢! 
### 效果展示
#### 生成代码

#### 生成数据库设计文档

### 示例代码
``` java
GeneratorConfig generatorConfig = new GeneratorConfig();//文件生成信息配置
generatorConfig.setAuthor("YouYuan");//作者,用于生成注释
generatorConfig.setPackageName("com.yuan");//包名
generatorConfig.setOutputPath("D:/Temp/AGCode/");//设置文件输出路径
generatorConfig.setTemplateId(Template.SpringBoot);//设置模板id,使用SpringBoot模板
DatabaseConfig databaseConfig = new DatabaseConfig();//数据库信息配置
String dbName = "generator";//数据库名
databaseConfig.setDbUrl("jdbc:mysql://localhost:3306/" + dbName + "?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true");//数据库连接地址
databaseConfig.setDbName(dbName);//设置数据库名
databaseConfig.setUsername("youyuan");//连接数据库的用户名,此处最好使用具有root权限的用户
databaseConfig.setPassword("123");//数据库用户密码
databaseConfig.setTablePrefix("t_");//数据库表名前缀,用于生成类时自动去除此前缀
GeneratorCode generatorCode = new GeneratorCode(databaseConfig, generatorConfig);//根据配置创建文件生成核心对象
generatorCode.batchGenerator();//全库批量生成
generatorCode.dbDesignDoc();//生成数据库设计文档
```
## 兼容性
| 环境 | 支持版本 |
|-----|---------------|
| JDK | 1.6及以上版本 |
| 数据库 | MySQL 、Oracle |
## Maven项目使用说明
Maven项目使用AGCode,可先下载build包中的`AGCode v2.x.jar`,将下载好的文件保存在D盘根目录,执行以下命令将AGCode导入本地Maven库:
```shell
mvn install:install-file "-Dfile=D:\AGCode v2.6.jar" "-DgroupId=com.yuan" "-DartifactId=agcode" "-Dversion=2.6" "-Dpackaging=jar"
```
然后在项目中就可以使用Maven坐标来导入AGCode正常使用了~
```xml
com.yuan
agcode
2.6
```
## 最近更新 2022-04-27
- 版本号:2.6
- 更新内容:
- 根据配置的属性值转换列表自动生成常量列表与数据字典
- 加入新的SpringBoot模板,模板自动集成Swagger、Lombok、MybatisPlus等常用框架
- 数据库文档模板更新,新增数据库设计文档html模板
- 新增Template枚举类,可在GeneratorConfig中指定要使用的模板,目前有SSM、SpringBoot两套模板可选
- 修复配置templateId时读取内置模板配置失效的bug
- 修复Mysql设置严格模式索引读取异常的bug
- 优化了jar包大小
- 文档地址改为Gitee的wiki地址,原来的地址agcode.mydoc.io已经停用
## 开发计划
1. 加入新的SpringCloud模板,模板在SpringBoot模板的基础上集成SpringCloud组件