zoukankan      html  css  js  c++  java
  • mybatis0203 一对一查询 resultMap实现

    resultType实现的时候先要确定po类(数据库类)满不满足要求,如果不满足就要自定义一个pojo类(工具类)。

    resultMap提供一对一关联查询的映射和一对多关联查询映射,一对一映射思路:将关联查询的信息映射到pojo中,如下:
    
    在Orders类中创建一个User属性,将关联查询的信息映射到User属性中。

     

    mapper.xml

    <!-- 一对一查询resultMap -->
    
        <resultMap type="orders" id="ordersUserResultMap">
            <!-- 完成了订单信息Order的映射配置 -->
            <id column="id" property="id"/>        <!-- Orders的id,整个查询的唯一标识就是Orders的id -->
            <result column="user_id" property="userId"/><!-- Orders的userId-->
            <result column="number" property="number"/>
            <result column="createtime" property="createtime"/>
            <result column="note" property="note"/>
            
            <!-- 下边完成关联信息User的映射
            association:用于对关联信息User映射到单个pojo(Orders)
            property:要将关联信息映射到orders的哪个属性中
            javaType:关联信息映射到orders的属性的类型,是user的类型
             -->
            <association property="user" javaType="user">
                <!-- id:关联信息User的唯 一标识  -->
                <!-- property: 要映射到user的哪个属性中-->
                <id column="user_id" property="id"/>user_id
                <!-- result就是普通列的映射 -->
                <result column="username" property="username"/>
                <result column="sex" property="sex"/>
            
            </association>
            
        </resultMap>

    1.1.1 mapper.java

    测试

    @Test
        public void testFindOrderUserListResultMap() throws Exception {
    
            SqlSession sqlSession = sqlSessionFactory.openSession();
            // 创建mapper代理对象
            OrdersMapperCustom ordersMapperCustom = sqlSession
                    .getMapper(OrdersMapperCustom.class);
    
            // 调用方法
            List<Orders> list = ordersMapperCustom.findOrderUserListResultMap();
    
            System.out.println(list);
        }

    1.2小结
    resultType:要自定义pojo 保证sql查询列和pojo的属性对应,这种方法相对较简单,所以应用广泛。
    
    resultMap:使用association完成一对一映射,需要配置一个resultMap,过程有点复杂,如果要实现延迟加载就只能用resultMap实现 ,如果为了方便对关联信息进行解析,也可以用association将关联信息映射到pojo中方便解析。
  • 相关阅读:
    Bootstrap3 formテキストフィールド横幅の指定の仕方
    HTML豆ちしき
    iMac Termanel命令まとめ
    ちょっとした難しい言葉まとめ①
    即使痛苦,绝不止步
    Bower —— 一个Web的包管理工具
    词汇
    8.3.2018 1 Quick and dirty 快而脏的快餐
    7.26 5 优化浪漫 恋爱中的经济学
    7.26 4 印度旅馆阿鲁沙之家
  • 原文地址:https://www.cnblogs.com/yaowen/p/4870434.html
Copyright © 2011-2022 走看看