resultMap和resultClass parameterClass resultType parameterMap parameterType

来源:互联网 发布:业务数据分析师考试 编辑:程序博客网 时间:2024/04/29 08:49

转自http://blog.csdn.net/zzjjiandan/article/details/32705371  

resultMap和resultClass指的是在 select查询中的返回数据类型

resultMap(ibatis Mybatis)取值

一、resultMap

<typeAlias alias="OrganizationBUEntity" type="com.dianping.operationtools.entity.OrganizationBUEntity" />

    <resultMap id="OrganizationBUEntity" class="OrganizationBUEntity">

        <result property="id" column="ID"/>

        <result property="groupId" column="GroupId"/>

        <result property="groupName" column="GroupName"/>

        <result property="organizationId" column="OrganizationId"/>

        <result property="organizationName" column="OrganizationName"/>

        <result property="groupTypeId" column="GroupTypeId"/>

        <result property="isActive" column="IsActive"/>

        <result property="addTime" column="AddTime" />

        <result property="updateTime" column="UpdateTime" />

    </resultMap>


    <sql id="keys">

        GroupId,

        GroupName,

        OrganizationId,

        OrganizationName,

        GroupTypeId,

        IsActive,

        AddTime,

        UpdateTime

    </sql>


  <select id="findById" resultMap="OrganizationBUEntity" parameterClass="map">

        SELECT ID,

        <include refid="keys"/>

        FROM AP_OrganizationBU

        WHERE ID = #id#

    </select>


二、resultClass (ibatis)取值

1.resultClass="int"

2.resultClass="com.sfbest.product.bean.ProductPicture"

3.resultClass="string"

4.resultClass="long"

5.resultClass=“java.util.HashMap"

 <select id="findAllOrganizationInPage" resultMap="OrganizationBUEntity" parameterClass="map">

        SELECT ID,

        <include refid="keys"/>

        FROM AP_OrganizationBU

    </select>


三、parameterClass  (ibatis)指的是select save update delete   SQL语句的where执行条件

parameterClass可以的取值

1、parameterClass="int"

2、parameterClass="map"     

3、parameterClass="com.sfbest.bean.AccountMerchantDistribution” 


  @DAOAction(action = DAOActionType.QUERY)

    public List<OrganizationBUEntity> findByOrganizationId(@DAOParam("organizationId") int organizationId);


 <select id="findByOrganizationId" resultMap="OrganizationBUEntity" parameterClass="map">

        SELECT ID,

        <include refid="keys"/>

        FROM AP_OrganizationBU

        WHERE OrganizationId = #organizationId#

    </select>

单个参数可以基本类型,也可以map 多个参数 map


四 resultType  (Mybatis) 参考resultClass

 返回值只想是部分字段,比如Id,则使用resultType="int" 

<select id="queryLabelByOpenId"  resultType="int">     
        select LabelId from test.UserLabel WHERE OpenId = #{openId}
    </select>

DAO: 

 public List<Integer> queryLabelByOpenId(String openId);

五.parameterMap  (ibatis Mybatis)

  1. ﹤parameterMap class="Employee" id="Employee_SelectParameterMap"﹥  
  2.  
  3.     ﹤parameter column="EmployeeID" property="EmployeeID" dbType="int" type="int" direction="Input"/﹥  
  4.  
  5.     ﹤parameter column="LastName" property="LastName" dbType="nvarchar" type="string" direction="Input"/﹥  
  6.  
  7.     ﹤parameter column="Country" property="Country" dbType="nvarchar" type="string" direction="Input"/﹥  
  8.  
  9. ﹤/parameterMap﹥ 


  1. select id="Employees_SelectWithParameterMap2" parameterMap="Employee_SelectParameterMap" resultClass="Employee" listClass="ArrayList"﹥  
  2.  
  3.             SELECT EmployeeID,LastName,FirstName FROM Employees WHERE EmployeeID = ? OR LastName = ? OR Country = ?  
  4.  
  5. ﹤/select﹥ 
  6. 3.在使用parameterMap的extends属性时,它将会继承extends值对应的parameterMap配置,并且会继承它的所有的参数映射,并且顺序是从继承的那配置为基准开始计算。这个在需要用到extends属性的时候要特别注意。顺序注意
  7. 如果ParameterMap中配置的parameter元素不包含在传入参数对象中(属性或IDictionary对象的一个key,value项),将会产生异常,而不管在statement中有没有用到

参照http://developer.51cto.com/art/200907/138508.htm  


六.parameterType (Mybatis 里有) 参考parameterClass

0 0
原创粉丝点击