程序员社区

7. MyBatisCodeHelperPro 插件

MyBatisCodeHelperPro 插件

       之前介绍了 MyBatis 的逆向工程生成实体类、自定义接口以及 Mapper.xml 的操作过程,很显然这样的配置工作非常繁琐且复杂,本文在介绍 MyBatis 动态 SQL 之前,先分享一款实用的 MyBatis Generator 插件(MyBatisCodeHelperPro),使用这个插件可以简化开发过程,提高开发者的编码效率。

第一步:File → Settings → Plugins → Install plugin from disk… (提前将MyBatisCodeHelperPro压缩文件下载到本地磁盘)

在这里插入图片描述

第二步:重启 IDEA 完成插件的激活操作(Tools → MyBatisCodeHelper →Activation)

在这里插入图片描述

第三步:在激活面板中选择【OfflineActivation】,offline key中输入任意的字符串,然后点击【Activate】完成激活操作。

在这里插入图片描述

第四步:使用 IDEA 内置的可视化工具连接数据库,并右键表名,选择【Mybatis generator】

在这里插入图片描述

第五步:在操作面板中配置实体类、mapper 接口和 mapper.xml 的文件路径,并注意要修改【xml resources folder】的resources 修改成 java 文件

在这里插入图片描述

       至此就完成了从 MyBatisCodeHelperPro 插件安装到使用的整个流程,项目生成的目录结构如下:

在这里插入图片描述

而且该插件生成的代码非常简洁明了,易于阅读和修改。


下面继续介绍如何使用该插件对生成的方法进行单元测试:

1、对 UserMapper 接口中的每个方法进行逐一测试时,点击【Alt+Enter】选择 Generate mybatis testcase

(说明:以后需要对哪个方法进行测试,就可以对该接口使用快捷键生成测试方法)

在这里插入图片描述

2、初始化测试环境,配置数据库连接单元测试的环境

在这里插入图片描述

3、添加单元测试的依赖包

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

4、插件可以自动生成 UserMapperTest 测试类

package com.trainingl.mapper;

import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.FileNotFoundException;

public class UserMapperTest {
    private static UserMapper mapper;

    @org.junit.BeforeClass
    public static void setUpMybatisDatabase() {
        SqlSessionFactory builder = new SqlSessionFactoryBuilder().build(UserMapperTest.class.getClassLoader().getResourceAsStream("mybatisTestConfiguration/UserMapperTestConfiguration.xml"));
        //you can use builder.openSession(false) to not commit to database
        mapper = builder.getConfiguration().getMapper(UserMapper.class, builder.openSession(true));
    }

    @org.junit.Test
    public void testSelectByPrimaryKey() throws FileNotFoundException {
        User user = mapper.selectByPrimaryKey(1);
        System.out.println(user);
    }
}

控制台的打印结果如下:

在这里插入图片描述

需要注意的是,如果要添加打印 SQL 的配置,则需要在 test/resources/MyBatisTestConfiguration/~.xml 中配置如下信息。而不是在 config.xml 中配置,因为此时的环境是测试环境。

<settings>
    <!-- 打印SQL -->
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

赞(1) 打赏
未经允许不得转载:IDEA激活码 » 7. MyBatisCodeHelperPro 插件

一个分享Java & Python知识的社区