zl程序教程

您现在的位置是:首页 >  工具

当前栏目

MyBatis最牛逼的IDEA插件,功能强大,帮你节省95%代码量

IDEAmybatis插件代码 功能强大 节省 最牛
2023-09-27 14:26:04 时间

参考博客:EasyCode

下载安装

下载

MyBatisCodeHelperPro插件下载地址:MyBatisCodeHelperPro

安装

Intellij最新插件MybatisCodeHelper-2.8.1-191-201,使用方法IDEA顶部菜单:Tools -> MybatisCodeHelper -> Activation -> OfflineActivation,在offline key框输入任意字符串
在这里插入图片描述

配置

数据库用的tinyInt 或者 smallInt生成java类型是 byte 和 short 两种类型。在java代码里面操作 byte 和 short 类型比较麻烦,经常需要强制转换,下面是设置使用Integer 来替代byte和short还有使用Java8的日期时间类型
在这里插入图片描述

使用

Maven依赖

创建Maven项目,为保证生成的代码不出丙错误提示,导入依赖:

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>3.5.4</version>
</dependency>

<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.10</version>
</dependency>

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.1.11</version>
</dependency>
<!-- 保证生成的Service层的注解不错 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.2.1.RELEASE</version>
</dependency>

根据实体类生成建表sql

按alt+insert
在这里插入图片描述
在这里插入图片描述
生成的SQL语句:
在这里插入图片描述
生成好了建表语句后,到数据库中执行, 然后从数据库来生成crud代码

根据表生成Bean、Dao+mapper和Service

第一步:在Intellij中连接上MySQL数据库,在指定的表上右键
在这里插入图片描述
第二步:配置生成信息
在这里插入图片描述
说明:

  • exampleQuery:会生成一大堆的example文件,xml中的example代码看起来也很乱、建议使用方法名生成sql来替代。
  • 不推荐mapper接口做继承,所以baseClass选项也不要选。现在代码都是自动生成的,mapper做继承仅能减少一些代码量,效率提升不明显。搞了继承后,看mapper接口对应的xml也变得比较麻烦,哪些方法要放到继承里面也比较难定义,有可能某些接口继承的方法根本用不到。 建议是每个接口只生成自己需要的xml方法。
    -generatedComments选项建议选中,不然会出现如下所示的提示
    在这里插入图片描述

第三步:查看各个生成的目录
在这里插入图片描述

根据接口中的方法名生成对应的mapper

  • 只需要一个方法名,不需要参数和返回值,输入方法名后,按alt+enter–Generate mybatis sql 就可以生成了
    在这里插入图片描述
  • 方法名生成sql时支持if test

在这里插入图片描述

一键添加@param注解

按alt+enter
在这里插入图片描述
结果:
在这里插入图片描述

生成mapper映射文件中resultMap未使用的字段

光标放到resultmap标签type属性值上 -> alt + enter -> generate unUsed properties
在这里插入图片描述
结果:
在这里插入图片描述

根据mapper接口生成mapper映射文件

创建一个接口 -> 光标放到接口名上 -> alt + enter -> generate mybatis mapper for current class -> 选择mapper映射文件位置
在这里插入图片描述

生成find方法

根据方法名 直接生成sql代码 方法名有自动提示 单表操作的代码只有写个方法名就好了
find方法
在这里插入图片描述

生成update方法

在这里插入图片描述

生成delete方法

在这里插入图片描述

生成count方法

在这里插入图片描述

生成测试用例

在这里插入图片描述

生成分页查询 (依赖于 pageHelper)

在这里插入图片描述
在这里插入图片描述
在DeptServiceImpl类中就可以查看到刚才生成的带有分页功能的代码。

从表数据导出java insert语句

可用于快速构造测试数据
在这里插入图片描述

Dao中方法名的规则

find方法

可以使用 select query get 替代find开头,支持orderBy,distinct, findFirst
在这里插入图片描述

update方法

可以使用modify替代update开头

在这里插入图片描述

delete方法

可以使用remove替代delete开头

在这里插入图片描述

count方法

支持distinct
在这里插入图片描述

生成不基于Spring的单元测试

光标定位在Mapper中待生成测试方法的方法声明上按快捷键alt+enter

在这里插入图片描述
最终生成的测试代码:

public class DaShangMapperTest {
    private static DaShangMapper mapper;

    @BeforeEach
    public static void setUpMybatisDatabase() {
        SqlSessionFactory builder = new SqlSessionFactoryBuilder().build(DaShangMapperTest.class.getClassLoader().getResourceAsStream("mybatisTestConfiguration/DaShangMapperTestConfiguration.xml"));
        //you can use builder.openSession(false) to not commit to database
        mapper = builder.getConfiguration().getMapper(DaShangMapper.class, builder.openSession(true));
    }

    @Test
    public void testInsertDaShang() throws FileNotFoundException {
        mapper.insertDaShang();
    }
}

使用小技巧

查看字段

在mapper.xml文件的字段中按着ctrl键,单击字段,会自动跳转表表的字段中,方便查看各字段的含义:在这里插入图片描述

根据实体类生成sql文件

创建一个实体类,在实体类上右键-generate
在这里插入图片描述
选择generte mybatis files
在这里插入图片描述
在这里插入图片描述
其中:

  • unique:唯一索引,不可重复;
  • index:普通索引,可重复;

有了表之后就可以创建mapper、mapper.xml、service、serviceImpl了

来源:https://hcshow.blog.csdn.net/article/details/105511508