轮子之代码生成器 AutoCode

本贴最后更新于 2120 天前,其中的信息可能已经天翻地覆

AutoCode

项目介绍

参考 mybatis-generator(plus) 功能列表的复刻版,

  • 更灵活的配置选项,
  • 更强大的批量操作支持,
  • 当然最重要的是更符合我司的编码规范和本人的代码风格手动斜眼
  • 目前支持 model,dao,mapper,service 文件的生成,并且自动生成的代码和用户写的代码完全分离,魔改表的结构然后重新生成代码不会影响用户已经写的代码

tip:改表名什么的,相关类名会跟着变,当然会影响依赖

软件架构

项目分为三个 module:

  • autocode.core: 核心功能代码,含各种代码生成的逻辑
  • autocode.test: 用于放置生成的文件进行测试
  • maven-autocode-plugin: maven 插件,开箱即用

安装教程

1.clone 本项目(代码还在整理中,本周内上架)

git clone --depth 1 https://github.com/1102568869/AutoCode.git

2.install 根目录到本地仓库

cd AutoCode 
mvn clean install -X -e -Dmaven.test.skip=true

如果构建失败,请提供详细构建日志提 issue 反馈,3q~

使用说明(maven 工程)

1.在 pom.xml 中配置 plugin 仓库地址:(如果已经执行过安装教程,此步骤跳过)

<pluginRepositories>    
    <pluginRepository>    
        <id>washmore</id>    
        <name>washmore's Maven plugin</name>    
        <url>http://maven.washmore.tech/nexus/content/groups/public/</url>    
        <snapshots>    
            <enabled>true</enabled>    
        </snapshots>    
        <releases>    
            <enabled>true</enabled>    
        </releases>    
    </pluginRepository>    
</pluginRepositories>

2.添加插件依赖

<plugin>
    <groupId>tech.washmore</groupId>
    <artifactId>maven-autocode-plugin</artifactId>
    <version>1.0.6-SNAPSHOT</version>
    <configuration>
        <!-- 此处可选,指定配置文件路径,默认为本项目根目录下的config.json -->
        <configLocation>
        </configLocation>
        <!-- 下面的配置项(优先)与上面的配置二选一,免配置文件版本,
        并且会在根目录下生成一份对应的config.json供参考修改 -->
        <!-- 参考
        https://blog.washmoretech.com/articles/2018/06/15/1529054506993.html
        中的db项配置,自己猜着改... -->
        <databaseDriver>com.mysql.jdbc.Driver</databaseDriver>
        <databaseUrl>jdbc:mysql://localhost:3306/EmployeeCare</databaseUrl>
        <databaseUsername>root</databaseUsername>
        <databasePassword></databasePassword> 
        <!-- 指定表名前缀,如有多个,用逗号,分割-->
        <databaseTablePrefix></databaseTablePrefix>
    </configuration>
</plugin>

3.在上一步指定的位置编写 config.json 文件(可选,如不配置此文件,则仅需要在插件配置数据库相关内容,其他应用默认配置),内容可参考 git 仓库根目录的 confi_example.json 文件,只需修改 db 相关配置,其他使用默认值即可;config.json 各配置项意义详情参考博文:详解 AutoCode 插件的配置文件

4.执行插件命令生成代码

mvn autocode:code

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
  • 代码
    459 引用 • 591 回帖 • 8 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3167 引用 • 8207 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 348 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • xiesir
    hello world
  • 其他回帖
  • someone

    适配使用习惯 当某一字段为自增列时,插入和批量插入 sql 中不再包含这些字段;升级版本到 1.0.6-SNAPSHOT 版本