Mybatis 学习笔记之 输入输出映射(五)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30715329/article/details/79949975

一、parameterType(输入映射)

比如说:要用到复杂的联合查询时,传入的查询条件很复杂(可能包含用户信息,商品信息等多个不同实体类),这时候该怎么办? 通常的做法是 : 定义包装类型的实体类(pojo),在包装类型的 pojo 中将复杂查询条件包装进去

1.1 定义一个包装实体类:


1.2 UserMapper.xml:


1.3 UserMapper.java:


1.4 JunitTest 测试类:

创建会话工厂:(@Before 注释的函数在 @Test 函数之前发生





二、resultMap(高级输出映射)

mybatis 中使用 resultMap 完成高级输出结果映射。

如果查询出来的列名和 pojo 的属性名不一致,通过定义一个 resultMap 对列名和 pojo 属性名之间作一个映射关系。

2.1 定义 resultMap


2.2 使用 resultMap 作为 statement 的输出映射类型


这里用到了 sql 片段 和 foreach :


2.3 输入类型也是包装UserQueryVo:

结合上一节的描述:


2.5 UserMapper.java:

2.6  JunitTest 测试类:

2.7 运行结果:


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页