基于gradle task的springboot java/kotlin代码生成

       前言:前后端分离趋势越来越明显,在目前我的开发中,基本已经不在后端项目中写页面了,只单纯的写接口业务,于是有个一个大问题就是,要么出markdown接口文档,要么出word的,反正都是要出,需要话很多时间来沟通交流,有点浪费时间,于是用swagger2来解决这个问题,同时使用swagger-bootstrap-ui作为展示,虽然文档不能完整的提现接口的真实情况,但是减少了很多去写文档的时间,那么问题又来了,使用注解来生成接口文档和字段说明,也需要写很长的时间,于是开始着手解决这问题。

        第一版是基于idea,使用groovy脚本来生成的,缺点就是必须使用idea连接mysql数据库,然后在表上右键,生成代码,而且只能在我的mac版本中使用,windows无限的出现乱码,源码就不贴出来了,几千行,而且对windows的用户体验真的不好,给个截图吧,截图如下:

基于gradle task的springboot java/kotlin代码生成

于是想办法出个gradle的插件吧?最后发现不熟悉插件怎么写,爬了不少坑还是解决不掉,于是简单化吧,写个task总是还会的,于是使用gradle+kotlin写了个task来生成代码,由于maven仓库申请没下来,也懒得申请了,需要的自己clone源码下来按照文档说明发布到自己的本地maven仓库中吧。码云仓库地址为:https://gitee.com/jiangyun/generate-code-plugin

备注:生成的代码范围为从mapper到controller,含CRUD的基础方法,对于简单业务的系统基本能满足需求,对于复杂的,就难说了,但是基于一个原则就是,有基础了之后写也容易,还有就是删除不需要的代码总比去手动写来的快很多很多,目前只支持mysql+mybatis+java/kotlin,如果想拓展(如支持jpa和mybatis-plus等),自己clone源码更改即可。(创建表务必字段填写好字段说明,也就是comment要有,不然我的这博客就没什么用了,你还是需要花时间去沟通字段问题)

基于gradle task的springboot java/kotlin代码生成

       按照文档方式来使用,最后生成代码截图如下:

java代码:

基于gradle task的springboot java/kotlin代码生成

基于gradle task的springboot java/kotlin代码生成

kotlin代码:

基于gradle task的springboot java/kotlin代码生成

基于gradle task的springboot java/kotlin代码生成

mapper代码:

基于gradle task的springboot java/kotlin代码生成

生成的文档如下:

基于gradle task的springboot java/kotlin代码生成

好了,就到此了,希望能帮到有需求的人。如果有什么好的意见或建议或交流,发送邮件到我的邮箱:[email protected]