# 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,编写简单的配置即可使用。 [![java](https://img.shields.io/badge/language-java-orange.svg)]() [![jdk](https://img.shields.io/badge/jdk-1.6-green.svg)]() [![License](http://img.shields.io/:license-apache-blue.svg)](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 \~^_^\~ 谢谢! ![Star](img/star.jpg) ### 效果展示 #### 生成代码 ![使用效果](img/usingEffect.jpg) #### 生成数据库设计文档 ![使用效果](img/dbDesignDoc.png) ### 示例代码 ``` 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组件