resultMap & resultType
两者都是表示查询结果集与java对象之间的一种关系,处理查询结果集,映射到java对象。
resultMap
将查询结果集中的列一一映射到bean对象的各个属性。映射的查询结果集中的列标签可以根据需要灵活变化,并且在映射关系中,可以根据typeHandler设置实现查询结果值得类型转化,比如布尔型与0/1的类型转换,枚举值等。
<resultMap type="com.test.result" id="testResult">
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="task_time" property="taskTime" jdbcType="VARCHAR" />
</resultMap>
<select id="queryData" parameterType="com.test.queryCondition" resultMap="testResult" >
select * from ......
</select>
mybatis-config.xml配置
<typeHandlers>
<typeHandler handler="com.test.xxxTypeHandler"
javaType="com.test.xxx"/>
</typeHandler>
<typeHandlers>
resultType
resultType 表示的是bean中的对象类,此时可以省略掉resultMap标签的映射,但是必须保证查询结果集中的属性 和 bean对象类中的属性是一一对应的,此时大小写不敏感,但是有限制。
parameterMap & parameterType
ParameterMap和resultMap类似,表示将查询结果集中列值的类型一一映射到java对象属性的类型上,在开发过程中不推荐这种方式。
一般使用parameterType直接将查询结果列值类型自动对应到java对象属性类型上,不再配置映射关系一一对应