文章目录
- 一、插件介绍
- 二、idea社区版安装MybatisCodeHelperPro插件
- 三、问题记录
- 1. DatabaseHelper插件 加载不了部分数据库链接的列信息
- 2. DatabaseHelper插件 数据库列显示顺序错乱
- 3. MybatisCodeHelperPro插件 数据库字段不提示
- 4. MybatisCodeHelperPro插件 特殊字段增加反引号之后爆红
一、插件介绍
功能
通过方法名(不需要方法的返回值和参数 会自动推导出来)来生成sql 可以生成大部分单表操作的sql 只需要一个方法的名字即可 会自动补全好方法的参数和返回值 和springdatajpa的语句基本一致
xml sql几乎所有地方都有自动提示,sql正确性检测,插件会识别mybatis的一系列标签 如 include trim set where,在这些标签之后的sql可以自动提示数据库的字段,检测sql的正确性,从此不用担心sql写错
直接从Intellij自带的数据库或者配置一个数据库生成crud代码 自动检测好 useGeneratedkey 自动配置好模块的文件夹 只用添加包名就可以生成代码了
xml代码格式化
从java类生成建表语句
数据库添加字段后可以继续生成,不会修改之前已经在接口或xml添加的自定义的方法 无需再去进行手动的添加
mybatis接口和xml的互相跳转 支持一个mybatis接口对应多个xml
mybatis接口中的方法名重构支持
xml中的 param的自动提示 if test的自动提示 resultMap refid 等的自动提示
resultMap中的property的自动提示,检测,重构
resultMap中column自动提示,检测
xml中refid,resultMap等的跳转到定义
检测没有使用的xml 可一键删除
检测mybatis接口中方法是否有实现,没有则报红 可创建一个空的xml
mybatis接口中一键添加param注解
mybatis接口一键生成xml
完整的typeAlias支持
param检测 检测#{ 中的内容是否有误
ognl 支持 if test when test foreach bind中的自动补全,跳转和检测
支持spring 将mapper注入到spring中 intellij的spring注入不再报错 支持springboot
一键生成mybatis接口的testcase 无需启动spring,复杂sql可进行快速测试
一键生成表关联的join
一键从sql语句中 导出resultMap
二、idea社区版安装MybatisCodeHelperPro插件
Mybatis 框架的代码生成插件有很多,但是支持社区版的少之又少,主要是因为这些代码生产插件,基本都是基于idea旗舰版自带的Database插件开发的,集团封禁 idea旗舰版之后,这些代码生成插件也就无法发挥作用了。MybatisCodeHelperPro插件 除了支持idea旗舰版,同时也支持社区版。该插件分为激活和非激活状态,激活状态才可以使用代码生成、类方法命名查询等高级功能,收费也很良心 99元/3年 2个设备授权!
MybatisCodeHelperPro插件社区版分为两部分,一部分是基于开源插件Database Navigator插件定制的DatabaseHelper插件和MybatisCodeHelperPro社区版专用插件(QQ群),本文
社区版支持
三、问题记录
1. DatabaseHelper插件 加载不了部分数据库链接的列信息
原因说明: 这其实是Database Navigator插件的问题,可能是给定的数据库账号例如mysql root账号权限过大,需要假装几百个schema,上千张表,加载卡死导致的(Database Navigator插件还是跟idea旗舰版自带的Database插件有不少差距的!!!)。
解决办法: 创建新的数据库用户并授权特定数据库访问权限,使用该账号连接数据库。
GRANT ALL PRIVILEGES ON test.* TO 'test'@'%';
FLUSH PRIVILEGES;
2. DatabaseHelper插件 数据库列显示顺序错乱
原因说明: Database Navigator插件默认设置问题。
COLUMN
默认排序方式为Name
方式。解决办法: 解决办法:将COLUMN 的排序方式由Name改为Position方式之后,reload即可!
3. MybatisCodeHelperPro插件 数据库字段不提示
解决办法: 手动设置sql xml文件与数据源关联关系
4. MybatisCodeHelperPro插件 特殊字段增加反引号之后爆红
还不行的话,强制禁用检查
<!--@ignoreSql-->
(不推荐)