• MyBatis(3.2.3)


    We can get Student along with the Address details using a nested Select query as follows:

    <resultMap type="Address" id="AddressResult">
        <id property="addrId" column="addr_id"/>
        <result property="street" column="street"/>
        <result property="city" column="city"/>
        <result property="state" column="state"/>
        <result property="zip" column="zip"/>
        <result property="country" column="country"/>
    </resultMap>
    <select id="findAddressById" parameterType="int" resultMap="AddressResult">
        SELECT * FROM ADDRESSES WHERE ADDR_ID = #{id}
    </select>
    
    <resultMap type="Student" id="StudentWithAddressResult">
        <id property="studId" column="stud_id"/>
        <result property="name" column="name"/>
        <result property="email" column="email"/>
        <association property="address" column="addr_id" select="findAddressById"/>
    </resultMap>
    <select id="findStudentWithAddress" parameterType="int" resultMap="StudentWithAddressResult">
        SELECT * FROM STUDENTS WHERE STUD_ID = #{Id}
    </select>

    In this approach, the <association> element's select attribute is set to the statement id findAddressById. Here, two separate SQL statements will be executed against the database, the first one called findStudentById to load student details and the second one called findAddressById to load its address details.

    The addr_id column value will be passed as input to the selectAddressById statement.

    We can invoke the findStudentWithAddress mapped statement as follows:

    StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
    Student student = mapper.selectStudentWithAddress(studId);
    System.out.println(student);
    System.out.println(student.getAddress());
  • 相关阅读:
    CSS之Position详解
    线性回归预测法linear regression
    置信区间
    asp.net MVC 中使用dataannotation验证Model
    决策树Decision Tree
    Net反射在项目中的应用
    C#并行编程并行任务
    一个特殊的产品价格制定法(市场决定价格)
    Json
    线性规划模型(线性优化模型)Linear programming
  • 原文地址:https://www.cnblogs.com/huey/p/5230802.html
Copyright © 2020-2023  润新知