• 使用resultMap定义查询结果集,实现关联查询


    接下来介绍resultMap定义查询结果集,实现关联查询

    1 首先在接口中定义操作的方法

    public interface EmployeeMapperPlus {

    public Employee getEmpAndDept(Integer id);

    }

    2在xml里进行配置

    <!--第一种进行配置

    联合查询:级联属性封装结果集
    -->
    <resultMap type="com.atguigu.mybatis.bean.Employee" id="MyDifEmp">
    <id column="id" property="id"/>
    <result column="last_name" property="lastName"/>
    <result column="gender" property="gender"/>
    <result column="did" property="dept.id"/>
    <result column="departmentName" property="dept.departmentName"/>
    </resultMap>


    <!--
    第二种配置使用association定义关联的单个对象的封装规则;
    -->
    <resultMap type="com.atguigu.mybatis.bean.Employee" id="MyDifEmp2">
    <id column="id" property="id"/>
    <result column="last_name" property="lastName"/>
    <result column="gender" property="gender"/>

    <!-- association可以指定联合的javaBean对象
    property="dept":指定哪个属性是联合的对象
    javaType:指定这个属性对象的类型[不能省略]
    -->
    <association property="dept" javaType="com.atguigu.mybatis.bean.Department">
    <id column="did" property="id"/>
    <result column="departmentName" property="departmentName"/>
    </association>
    </resultMap>
    <!-- public Employee getEmpAndDept(Integer id);-->
    <select id="getEmpAndDept" resultMap="MyDifEmp2">
    SELECT e.id id,e.last_name last_name,e.email email ,e.gender gender,e.did eedid,
    d.id did,d.dname departmentName FROM tbl_employee e,department d
    WHERE e.did=d.id AND e.id=#{id}
    </select>

    3在junit里进行测试

    @Test
    public void test05() throws IOException{
    SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
    SqlSession openSession = sqlSessionFactory.openSession();
    try{
    EmployeeMapperPlus mapper = openSession.getMapper(EmployeeMapperPlus.class);
    Employee empAndDept = mapper.getEmpAndDept(1);
    System.out.println(empAndDept);
    System.out.println(empAndDept.getDept());

    }finally{
    openSession.close();
    }


    }

  • 相关阅读:
    UVA1627-Team them up!(二分图判断+动态规划)
    UVA10817-Headmaster's Headache(动态规划基础)
    UVA1626-Brackets sequence(动态规划基础)
    UVA11584-Partitioning by Palindromes(动态规划基础)
    UVA11584-Partitioning by Palindromes(动态规划基础)
    UVA11400-Lighting System Design(动态规划基础)
    UVA12563-Jin Ge Jin Qu hao(动态规划基础)
    UVA116-Unidirectional TSP(动态规划基础)
    JavaScriptCore框架在iOS7中的对象交互和管理
    iOS7新JavaScriptCore框架入门介绍
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/8546241.html
Copyright © 2020-2023  润新知