为了简化controller,service,mapper的搭建过程
根据数据库表自动生成entity,controller,service,mapper和mapper.xml
前提:引入Mybati-Plus,mysql依赖,配置好数据源。
MybatisX(配entity,service,mapper)
shift+shift 打开idea的搜索
选择Actions 搜索框输入plugins
在marketPlace里 找到MybatisX和EasyCode
安装完两个插件后连接数据库
正常连接即可。要注意的是Mysql数据库版本和驱动版本需要兼容。
常见的是8版本和5版本,5版本数据库用5的驱动,8版本的数据库用8的驱动即可。
右键数据库对应的表会发现有MybatisX-Generator和EasyCode两个选项。
点击MybatisX-Geerator,在这里配置你要生成代码存放位置。
module path 指模块路径
base package (需要更改)指基础包,我填的com.example.easy那么就会在这个目录再创建service包,mapper包和entity包
relative package (实体类的包名)
这里比较关键,配置三个玩意。
注解,实体类和模板。
按照下图所示配或者自行组合即可。
**注意:**Lombok个人不建议勾上,当你数据库字段为p_name 时执行插入语句或者更新语句会sql语法错误。
提示 你的sql是 Insert into Values
原因:lombok生成的get方法和set方法和idea默认生成的不完全一致前端传来的JSON数据中这些字段没有读取到对应的set和get方法。当数据库表字段id,p_name,生成的bean是id,pName属性
idea默认生成方法名是getId和setId,getpName和setpName
lombok生成的方法名是getId和setId,getPName和setPName
发现问题了吗?这种情况会导致前端传来的只有Id属性,pName值为null。
当然这个跟字段不完整也有关
如果数据库字段category_level,实体类categoryLevel
idea默认生成的get,set方法又跟lombok一样。吐一口老血。
个人猜测是跟字段完整性有关,_前后最好是完整单词。如果有懂的朋友还望指教。
EasyCode(配Controller)
上面缺少了一个重要的模块,没错就是controller,那就再介绍一个好帮手EasyCode。用法和MyabtisX基本一致。
Module选择你的项目
Path不用改,Package写好后会自动补充
Package 添加你的包名就好,跟上面MybatisX的base package一个道理。
EasyCode可以自行选择模板
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nwnqc32f-1661411980479)(C:\Users\lt\AppData\Roaming\Typora\typora-user-images\1661411877117.png)]
选择你的项目
Path不用改,Package写好后会自动补充
Package 添加你的包名就好,跟上面MybatisX的base package一个道理。
EasyCode可以自行选择模板
然后自己想添加哪部分就添加哪部分咯。当然也可以用EasyCode配全部层,个人不是很喜欢它的模板。看个人习惯吧。