目录
代码生成工具横向对比
前言
在对数据库的表进行基本的增删改查的时候,手动编写controller、dao、mapper、service等太过繁琐,而且当数据字段过多的时候,相同的字段需要在实体类中编写一遍、xml文件中又要编写一遍,重复的工作导致效率低;
当前的主流的框架也提供了代码生成的功能,现在我们对当前的几种常见的代码生成功能进行一个横向的比较,先说结论,更推荐使用mybatisX;
生成 工具 | 推荐指数 | 支持 数据库 | 优点 | 缺点 |
pigx | ★★ | mysql 5.7.8+ | 1.使用pigx框架开发服务较为简单; 2.代码生成较全面 3.mybatis-plus方式增删改查 | 1.启动方式较为繁琐,需要启动后台服务+前台界面 2.官方支持mysql 3.框架不符合需要删除多余的代码 |
ruoyi | ★★★ | mysql5.7.0+ | 1.启动方式简单 2.mybatis方式增删改查 | 1.官方不支持pg 2.框架不符合需要删除多余的代码 |
mybatisX | ★★★★★ | mysql / Pg/等 | 1.配置简单 3.支持的数据库较多 | 1.不生controller层代码 2.不生成任何增删改查的逻辑,需要自己写 |
1.Pigx
1.1 配置步骤
1.本地环境需要启动以下几个服务,加上web界面运行,16G运行内存占用率76%;
2.登录pigx界面,在左侧的【开发平台】--【数据源管理】中配置数据库的信息
3.数据源配置成功后,如下图所示
4.在【开发平台】--【代码生成】--【数据源】可选择步骤2配置的数据源信息,选择后可显示该库中的所有的表;
5.以pig_demo. sys_user为例,该表中一共有21个字段,如下图所示
6.点击【操作】--【生成】,即可跳转到代码生成界面填写相关的信息
7.属性设置界面,可设置每个字段的属性,备注等信息,可按照实际的要求进行修改,这些信息也都来自于数据库中的表,备注也是;
8.在【列表查询】界面,可设置查询的条件
9.点击【预览】,可预览生成的代码;
10.点击【保存并生成】即可将代码下载下来,将代码复制到自己的项目中即可使用;
1.2 注意
但是生成的代码虽然免去了一些代码的编写,但是接口的内部逻辑还是需要自己编写;如下图所示,可将圈出的部分删除
Pigx使用的是Mybatis-plus,mapper.xml中是没有sql语句的,生成的代码中大部分的增删改查的语句为mybatis-plus的语法格式,如果mybatis-plus不熟练的话,还是自己写sql比较稳妥;
https://www.yuque.com/pig4cloud/pig/yhixg0ol9cp4qbb8
2.Ruoyi
2.1 配置过程
1.登录ruoyi管理系统,【系统工具】--【代码生成】--【导入】中选择需要生成的数据表;
2.以【sys_user】表为例子,点击【操作】--【编辑】
3.在编辑界面,填写基本信息;
4.字段信息中,可对字段的操作进行修改
5.【生成信息】中填写需要生成代码package的结构;
6.点击预览,可预览生成的代码
注意:
Ruoyi管理系统使用的是myabtis,在mapper.xml中是可见生成的sql语句
在生成的代码中,如果使用的不是ruoyi框架,还是需要将多余的注解删除,方可使用,例如下图所示
https://zhuanlan.zhihu.com/p/609558595
3.MybatisX插件
3.1 IDEA中安装插件
3.2 配置过程
1.新建一个空的项目mybatisX-outPut-test,在pom中填写相关的依赖
2.选择数据库,以mysql为例子
3.填写相关的数据库信息,连接数据库;
4.当数据库后出现“1 of 15”这个字样 时,说明连接成功,以数据库pig为例
5.选择需要生成代码的数据库,右键,选择【MybatisX-Generator】
6.在下面的界面填写相关的输出信息,注意红色字体,填写完毕点击next
7.在该界面,注意红色框圈出来的地方
8.点击finish,就会在当前的空白的项目中生成相关的代码,但是,没有controller层的代码….