这一章和上一章参数处理器类似
首先是在XML解析的时候,顺便解析resultMap和resultType,一般更多的可能用的是resultType,为了实现统一,使用 resultType 的情况下,Mybatis也会创建一个resultMap实体类映射。
使用的时候是在SQL查询出结果,调用resultSetHandler.handleResultSets(ps)处理结果集中,首先会使用ResultSetWrapper对结果数据进行包装,然后创建结果处理器,然后开始解析数据,包括这么几步:
1.遍历结果集,每次拿出一行数据
2.首先拿到解析时的resultMap对象,调用getType拿到类型,反射生成实体类
3.对其属性进行解析并生成元对象
4.遍历实体类中所有属性,通过元对象反射拿到属性对象的类型,再通过TypeHandler根据类型取出对应的类型处理器,然后调用typeHandler.getResult取出不同类型的结果,再使用元对象反射设置到实体类中
5.返回结果