1.ResultMap和ResultType,它们都是用来表示查询结果集与java对象之间的一种关系,将查询结果集,按照某种关系映射到java对象。
2.ResultMap:将查询结果集中的列一一映射到java对象的各个属性上去,是根据用户在“resultMap”的子标签中的配置来决定的,灵活多变,常用于多表查询以及查询时使用别名的情况。
3.ResultMap但是实际业务开发单表用到的多,generator代码生成器生成一个表结构标签 BaseResultMap,查询单表的时候就可以直接用。ResultType在实际开发中用到较多,在多表查询时候,一般会用两张表里不同的字段,这个时候一般操作就是新建一个Bo层的model类将多表查询想要的字段映射到Bo层对象的各个属性上。
4.ParameterMap(没用过)和ParameterType
ParameterMap和ParameterType设置入参字段映射。
看下Mapper接口中参数:
@Param是按照名字进行匹配,ParameterType是按照类型匹配。单个参数可以用ParameterType,多个参数的时候按@Param名字匹配即可,对于按照ParameterType类型就不能匹配了。
一般操作是:单个参数时Mapper不写@Param 而是在xml写ParameterType 来定义类型。
看下generator代码生成器生成的代码,它就是这样做的:Mapper不写@Param ,在xml写ParameterType 来定义参数类型
对于ParameterType在实际业务开发中,除了generator代码生成器生成的代码会用到,一般自己写的接口都用@Param 名字匹配,很少用到 ParameterType。