1. 程式人生 > >resultMap與resultType的區別及parameterType與parameterMap的區別

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">

    SELECT 
 count(*)
FROM
  financial

 </select>

parameterType與parameterMap的區別於resultMap與resultType的區別是一樣的,

結論:

    map是自定義的資料型別,type是jdk中有的資料型別