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對象屬性類型上,不再配置映射關係一一對應