7. MyBatisCodeHelperPro 插件[通俗易懂]

2022-09-29 11:53:22 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君

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、添加单元测试的依赖包

代码语言:javascript复制
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

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

代码语言:javascript复制
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 中配置,因为此时的环境是测试环境。

代码语言:javascript复制
<settings>
<!-- 打印SQL -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193458.html原文链接:https://javaforall.cn

0 人点赞