MyBatis-Plus 如何单元测试的实现
最近项目中使用了 MyBatis-Plus,点击看官方文档。
使用一个新的框架,首先是验证框架的使用。
使用 MyBatis-Plus,首先就验证一下能否成功操作(CRUD)数据库。
如何通过不用启动项目,然后可以测试 MyBatis-Plus 查询数据。
所以首要想到的是单元测试 @Test
第一步
通过 MyBatis-Plus 的代码生成工具生成数据库表对应的文件
MyBatis-Plus 对于单表操作,有一个内置的 mapper 接口方法,service 的接口我暂时没使用并没验证过。
使用过 MyBatis 的应该都知道,在 service 层使用 mapper.java 来操作数据库,并且 mapper.xml 里面是有对应的查询入口。
-- service
public class EntityServiceImp{ @Autowired private EntityMapper mapper; public void test(){ // 服务层调用 mapper.java 中的 selectEntityList 方法 mapper.selectEntityList(map); } }
-- mapper.java
public interface EntityMapper { // mapper.xml 有一个id='selectEntityList' 的 select 块 List<entity> selectEntityList(Map<String, Object> map); }
--mapper.xml
<mapper namespace="com.example.mapper.EntityMapper" > <resultMap id="BaseResultMap" type="com.example.pojo.Entity" ></resultMap > <select id="selectEntityList" resultMap="BaseResultMap" parameterType="map" > select * from entity where ..... </select> <mapper>
然而使用 MyBatis-Plus,对于单表操作,不需要像 MyBatis 这么麻烦,可通过调用内置一些单表的接口方法。
第二步
在 src/test/java 下面创建测试用例
@RunWith(SpringRunner.class) @SpringBootTest public class DbTest { @Autowired private LogYjxxMapper logYjxxMapper; @Test public void test2() { // selectList 是内置的方法,logYjxxMapper中并不需要自己定义 selectList 这么一个方法 // selectList括号里的参数是条件构造器,可参看官方文档 List<LogYjxx> yjxxLoglist = logYjxxMapper.selectList(new QueryWrapper<LogYjxx>() .eq("lx", YjxxConstant.LX_SF) .and(i -> i.in("zt", 2,3).or().isNull("zt")) ); for (LogYjxx logYjxx : yjxxLoglist) { System.out.println(logYjxx); } } }
重点: 类上方的两个注解(@RunWith(SpringRunner.class) @SpringBootTest)很重要,不要漏了。
好了,通过以上两步,就可以很顺利的验证自己的 sql 了。
到此这篇关于MyBatis-Plus 如何单元测试的实现的文章就介绍到这了,更多相关MyBatis-Plus 单元测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java线程池ThreadPoolExecutor原理及使用实例
这篇文章主要介绍了Java线程池ThreadPoolExecutor原理及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-05-05Java之NoClassDefFoundError的原因及分析
在Java开发中,经常会遇到ClassNotFoundException和NoClassDefFoundError异常,ClassNotFoundException发生在编译时JVM无法找到类,而NoClassDefFoundError则发生在运行时JVM无法加载类,这两个异常虽然原因相似,但有本质区别2024-09-09springboot @ConfigurationProperties和@PropertySource的区别
这篇文章主要介绍了springboot @ConfigurationProperties和@PropertySource的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06ServletWebServerApplicationContext创建Web容器Tomcat示例
这篇文章主要为大家介绍了ServletWebServerApplicationContext创建Web容器Tomcat示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-03-03
最新评论