resultMap與resultType的區別及parameterType與parameterMap的區別
今天在寫程式碼的時候突然遇到這麼一個坑,報出來的問題還不提示型別不對,遂記錄一下,記憶更加深刻
resultMap :當返回結果為自定義物件時使用
例一:resultMap 為自定義實體 對應關係
<resultMap id="BaseResultMap" type="com.test.model.Financial">
<result column="test_id" jdbcType="VARCHAR" property="testId" />
<result column="report_id" jdbcType="VARCHAR" property="reportId" />
<result column="bus_domain" jdbcType="VARCHAR" property="busDomain" />
</resultMap>
<select id="getFinancials" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
*
FROM
financial
where report_id=#{ id}
</select>
例二 resultMap 為自定義實體 com.test.model.Financial
<select id="getFinancials" parameterType="java.lang.String" resultMap="com.test.model.Financial">
SELECT
*
FROM
mrs_business_financial
where report_id=#{ id}
</select>
resultType :當返回結果為jdk自帶物件時使用 例如:java.util.Map、int、String
例如:
<select id="getFinancials" parameterType="java.lang.String" resultType ="int">
count(*)
FROM
financial
</select>
parameterType與parameterMap的區別於resultMap與resultType的區別是一樣的,
結論:
map是自定義的資料型別,type是jdk中有的資料型別