前言
映射主要是指定输入输出类型,类型可以是
- 简单类型
- hashmap
- pojo的包装类型
输入映射
主要介绍pojo包装对象
查询条件可能是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如查询用户信息的时候,将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。
包装类型pojo
1 | package com.iot.mybatis.po; |
sql语句
1 | <select id="queryUserByQueryVo" parameterType="QueryVo" |
mapper接口
public List
输出映射
输出映射有两种方式:
- resultType
- resultMap
resultType
输出pojo对象和pojo列表:
不管是输出的pojo单个对象还是一个列表(list中包括pojo),在mapper.xml中resultType指定的类型是一样的。
在mapper.java指定的方法返回值类型不一样:
输出单个pojo对象,方法返回值是单个对象类型
1 | //根据id查询用户信息 |
输出pojo对象list,方法返回值是List
1 | //根据用户名列查询用户列表 |
resultMap
如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。
- 定义reusltMap
1 | <!-- 定义resultMap |
- 使用resultMap作为statement的输出映射类型
1 | <!-- 使用resultMap进行输出映射 |
使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。
如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。
resultMap可以实现懒加载。