# AGCode **Repository Path**: C-BAND/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-02-21 - **Last Updated**: 2022-02-21 ## 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 * QQ:1265161633 ## 功能介绍 - 使用自动化技术提升工作效率,极大减少人工编码量。 - 支持自定义模板,生成任何你需要的文件内容(不局限于Java文件,也可以生成Python自动化测试脚本等)。 - 生成项目开发中所有的基础代码,例如JavaBean、数据字典、MyBatis映射、DAO、Service、Controller、Javascript、Html等。 - 自动生成数据库设计文档,并且包含数据表的索引信息。 - 框架内部提供一套基于Spring+SpringMVC+Mybatis的代码模板,生成的代码默认实现了增删改查、乐观锁、逻辑删除等功能。 - 可根据配置自动完成接口设计、表单校验、逻辑删除、乐观锁、区间查询、模糊查询、正则校验等功能。 - 可根据配置将字段的key-value映射进行自动转换,例如`1:男,2:女`,程序可智能解析构建转换列表。 - 全库批量生成,瞬间完成所有基础代码的编写工作。 ## 说明文档 [AGCode v2.5文档](http://agcode.mydoc.io/ "AGCode v2.5文档") | [AGCode v2.2文档](http://agcode.mydoc.io/?v=41189 "AGCode v2.2说明文档") | [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("F:/Temp/AutoGeneratorCode/Test2.0/Jar");//设置文件输出路径 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 5.x、Oracle | ## 最近更新 2020-06-23 - 版本号:2.5 - 更新内容: - 完善generatorCode.dbDesignDoc(),自动生成数据库设计文档(包括表索引字段) - GeneratorCode新增processTemplate方法,支持更加灵活的处理模板 - 支持在文件系统中访问数据集中的Map数据 - MySqlDatabaseInfoReader支持查询数据表的索引信息 - 数据集添加dbName、indexList等属性 - 完善数据库设计文档模板 - AGCode生成文件时添加进度显示 ## 开发计划 1. 根据配置的属性值转换列表自动生成常量列表与数据字典 2. 基于web服务器提供在线配置数据库信息生成代码的功能