前言
和本文插件类似的还有mybatisX
、free mybatis tool
、mybatisPlus
........但我不喜欢,所以用的是本文说的插件
下载地址:https://www.123pan.com/s/Le6KVv-jbGxh.html
提取码: zixq
要了解激活原理操作的去这里:MyBatisCodeHelper-Pro 详细破解操作
本文示例是 IDEA 2020.3 + MyBatisCodeHelper-Pro 2.8.9。
IDEA 2023.3激活,setting->plugin->右上角齿轮(设置)->Install plugin from disk->选择上面下载的 MybatisCodeHelperNew-3.2.2.zip(不要解压)即可。注意:此版本下载之后选择的是“在线激活”,然后随便输入一串“数字”
激活
IDEA顶部菜单:Tools
-> MybatisCodeHelper
-> Activation
-> OfflineActivation
/ 离线激活,在offline key
/ 离线激活码 框输入任意一串数字
注:有时会出现输入了任意字符串没顶用,那就再输入其他的任意字符串,可以将其理解为编号,你输入的可能已经被人用了,所以重新乱按一串数字即可
配置
数据库用的 tinyInt
或者 smallInt
,生成java类型是 byte
和 short
两种类型。在Java代码里面操作 byte
和 short
类型比较麻烦,经常需要强制转换,下面是设置使用 Integer
来替代 byte
和 short
还有使用Java8的日期时间类型
当然不设置也行
使用MyBatisCodeHelper-Pro
依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
根据Java实体类生成建表SQL语句
在Java实体类中选择alt+insert
按需要进行配置,之后选择OK
即可
MyBatis逆向工程:根据表生成Bean、Dao+mapper、Service
IDEA链接数据库
选择要逆向生成的表右键
选择mybatis generator
按需要进行配置,然后选择OK
即可
注:
-
xxxExample别选:会生成一大堆的example文件,xml中的example代码看起来也很乱、建议使用方法名生成sql来替代
-
不推荐mapper接口做继承,所以父类配置那里别弄:代码都是自动生成的,mapper做继承仅能减少一些代码量,效率提升不明显。搞了继承后,看mapper接口对应的xml也变得比较麻烦,哪些方法要放到继承里面也比较难定义,有可能某些接口继承的方法根本用不到。建议是每个接口只生成自己需要的xml方法
-
生成注释最好选上:不然可能会出现以后数据库新增字段了,那生成的xml无法和以前生成的进行合并
生成结果如下
根据接口中的方法名生成对应的mapper
只需要一个方法名,不需要参数和返回值,在mapper
接口中输入方法名后,按alt+enter
–> Generate mybatis sql
方法名生成sql时支持if test
,要用这个的话,选择下面的方式,之后选择相应的if选项内容即可
生成find、update、delete、count等方法的使用方式和上述的方法一样的:单表操作的代码只要写个方法名就好了[方法名第一个单词直接敲对应的find、update.....即可],根据方法名 直接生成sql代码 方法名有自动提示
一键添加@param注解
把光标放在参数位置,然后按alt+enter
即可
生成mapper映射文件中resultMap未使用的字段
光标放到resultmap标签type属性值上 -> alt + enter
-> generate unUsed properties
根据mapper接口生成mapper映射文件
创建一个接口 -> 光标放到接口名上 -> alt + enter
-> generate mybatis mapper for current class
-> 选择mapper映射文件位置
生成测试用例
光标放在方法名处,直接按alt+enter
,选择如下选项,然后配置数据库信息即可[此测试用例是不基于spring的单元测试的]
生成分页查询(依赖于 pageHelper)
光标放在方法名处,按alt+enter
,选择如下对应选项
最后在impl
的相应类中就有对应的分页功能的代码
从表数据导出java insert语句
可用于快速构造测试数据
操作方式:
在IDEA中打开表
选择要测试的数据
右键选择generate java class setter for row
选择表对应的实体类
copy测试数据,之后就可以放到需要的地方了
补充:Dao / mapper中方法名的规则
对于find方法:可以使用
select
、query
、get
替代find
开头,支持orderBy
,distinct
,findFirst
对于update方法:可以使用modify替代update开头
对于delete方法:可以使用remove替代delete开头
对于count方法:支持distinct