1.输入映射
通过parameterType指定输入参数类型,类型可以是简单类型、hashmap、pojo的包装类型。
1)传递pojo包装对象
- 需求
完成用户信息综合查询,需要传入查询条件(可能包括用户信息、其他信息) - 定义包装类型pojo
针对上边需求,建议使用自定义的包装类型pojo。在包装类型的pojo中将复杂的查询条件包装进去。
- mapper.xml
在UserMapper中定义用户信息综合查询(查询条件复杂,需要关联查询)
- mapper.java
图片.png
2)传递hashmap
2.输出映射
1)resultType
使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。
如果查询出来的列明和pojo中的属性名全部不一致,没有创建pojo对象。
只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。
- 不管是输出的pojo是单个对象还是一个列表(list中包括pojo),在mapper.xml中resultType指定的类型都一样,只是mapper.java中返回值类型方法不一样List。
生成的动态代理对象中是根据mapper方法返回值类型确定调用selectOne还是selectList。
2)resultMap
mybatis中使用resultMap完成高级输出结果映射。
- 如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。
- 定义resultMap
定义resultMap
- 使用resultMap作为statement的输出映射类型
- mapper.java
mapper.java
-
test
test.png