zoukankan      html  css  js  c++  java
  • MyBatis(3.2.3)

    ResultMaps are used to map the SQL SELECT statement's results to JavaBeans properties. We can define ResultMaps and reference this resultMap query from
    several SELECT statements.

    We can extend one <resultMap> query from another <resultMap> query, thereby inheriting the column to do property mappings from the one that is being extended.

    <resultMap type="Student" id="StudentResult">
        <id property="studId" column="stud_id"/>
        <result property="name" column="name"/>
        <result property="email" column="email"/>
        <result property="phone" column="phone"/>
    </resultMap>
    
    <resultMap type="Student" id="StudentWithAddressResult" extends="StudentResult">
        <result property="address.addrId" column="addr_id"/>
        <result property="address.street" column="street"/>
        <result property="address.city" column="city"/>
        <result property="address.state" column="state"/>
        <result property="address.zip" column="zip"/>
        <result property="address.country" column="country"/>
    </resultMap>

    The resultMap query with the ID StudentWithAddressResult extends the resultMap with the ID StudentResult.

    Now you can use StudentResult resultMap if you want to map only the Student data as shown in the following code:

    <select id="findStudentById" parameterType="int" resultMap="StudentResult">
        SELECT * FROM STUDENTS WHERE STUD_ID=#{studId}
    </select>

    If you want to map the query results with Student along with the Address data, you can use resultMap with the ID StudentWithAddressResult as follows:

    <select id="selectStudentWithAddress" parameterType="int" resultMap="StudentWithAddressResult">
        SELECT STUD_ID, NAME, EMAIL, PHONE, A.ADDR_ID, STREET, CITY, STATE, ZIP, COUNTRY
        FROM STUDENTS S LEFT OUTER JOIN ADDRESSES A 
        ON S.ADDR_ID = A.ADDR_ID
        WHERE STUD_ID = #{studId}
    </select>
  • 相关阅读:
    csu 1547(01背包)
    csu 1592(区间DP)
    Funny Car Racing(最短路变形)
    csu 1329 一行盒子(链表操作)
    poj 2828(线段树单点更新)
    软件开发文档模板 (学习)
    C 语言高效编程与代码优化
    【整理】uclibc,eglibc,glibc之间的区别和联系
    查找openssl内存泄漏(代码)
    openssl内存分配,查看内存泄露
  • 原文地址:https://www.cnblogs.com/huey/p/5230204.html
Copyright © 2011-2022 走看看