1. 程式人生 > >resultmap和resulttype的區別和使用情景,ParameterMap(不推薦) & parameterType

resultmap和resulttype的區別和使用情景,ParameterMap(不推薦) & parameterType

自定義resultmap

<resultMap id="myMapJiLian" type="com.yunqing.mybatis.bean.User">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="age" property="age"/>
        <result column="did" property="dep.id"/>
        <result column="dep_name" property="dep.departmentName"/>
    </resultMap>

使用

<select id="getUserAndDepById" resultMap="myMapJiLian">
        SELECT u.id id,u.name name,u.age age,u.dep_id dep_id,dep.id did,dep.department dep_name FROM t_user u,t_dep dep WHERE
        u.dep_id=dep.id AND u.id=#{id}
    </select>

resultMap & resultType

        兩者都是表示查詢結果集java物件之間的一種關係,處理查詢結果集,對映到java物件。

      resultMap表示將查詢結果集中的列一一對映到bean物件的各個屬性。對映的查詢結果集中的列標籤可以根據需要靈活變化(即表中欄位名可以與bean中的屬性名不一致),並且,在對映關係中,還可以通過typeHandler設定實現查詢結果值的型別轉換,比如布林型與0/1的型別轉換。

        resultType 表示的是bean中的物件類,此時可以省略掉resultMap標籤的對映,但是必須保證查詢結果集中的屬性 和 bean物件類中的屬性是一一對應的,此時大小寫不敏感,但是有限制。

ParameterMap(不推薦) & parameterType

          ParameterMap

和resultMap類似,表示將查詢結果集中列值的型別一一對映到java物件屬性的型別上,在開發過程中不推薦這種方式。

       一般使用parameterType直接將查詢結果列值型別自動對應到java物件屬性型別上,不再配置對映關係一一對應,例如上述程式碼中下劃線部分表示將查詢結果型別自動對應到hdu.terence.bean.Message的Bean物件屬性型別。