1、再阅读之前,请您一定要 看完 搭建项目
2、一定要了解三个单词:business
、system
、common
,前端用的比较多 ;去看下: 三个单词
3、一定要熟悉 后端结构 和 前端结构
# 一、背景与问题
笔者认为代码生成在某些情景下非常有用,但是在某些情景下还是建议慎用,因为不是手敲出的代码毕竟缺少了一个思考的过程,会很容易产生bug,相比于速度和bug,我相信速度在bug面前不值一提。
那么为什么我们还是做了代码生成呢? 因为 “ 真香 ” 定律。
代码生成真的很香,但是我们依然建议在使用代码生成之前多去思考业务,三思之后再去使用它。
# 二、架构与思想
# 2.1、表结构
代码生成都离不开数据库的表结构的信息,所以表结构信息是要完善的,比如表的注释、列的注释等等
代码生成可能不止一次,所以代码生成的配置信息最好也能存储下来;
# 2.2 生成内容
对于中后台,大部分的功能都是类似的,无外乎“增删查改”,所以我们将需求拆分一下:
- 对于java的“增删查改”需要有如下信息:Controller、Service、Manager、Dao、Mapper、JavaBean(domain)
- 对于前端而言:列表:list.vue , 表单:form.vue,请求 api.js
# 三、具体使用
# 3.1、使用要求
表注释、表的每一列 必须有注释!!
# 3.2、使用方法
以超管
身份登录系统,打开代码生成
菜单页面
- 1)搜索 要生成的表信息
- 2)点击
代码配置
- 3)一共6个步骤,每个步骤都要配置完成
在线代码配置 代码生成配置持久化
# 3.3 下载
点击列表中的 下载代码
即可 下载一个 代码压缩包了
# 3.4 代码在线预览
![]() |
# 四、实现原理
# 4.1、表设计
表t_code_generator_config
,将每一个步骤的信息都存下来。
![]() |
# 4.2、代码
具体代码在sa-common
项目的support.codegenerator
包
具体细节如下:
- 模板文件:
src/main/resource/code-generator-template/
- 模板技术: velocity
- 具体实现: 不难很简单
对于每一个模板文件,都有对应的
service
处理类,具体如下
# 联系我们
1024创新实验室-主任:卓大 (opens new window),混迹于各个技术圈,研究过计算机,熟悉点 java,略懂点前端。
1024创新实验室(河南·洛阳) (opens new window) 致力于成为中原领先、国内一流的技术团队,以技术创新为驱动,合作各类项目(软件外包、技术顾问、培训等等)。
![]() | ![]() | ![]() |
加 主任 “卓大” 微信 拉你入群,一起学习 | 关注 “小镇程序员” 分享代码与生活、技术与赚钱 | 请 “1024创新实验室” 喝咖啡 支持我们的开源与分享 |