zoukankan      html  css  js  c++  java
  • mybatis分步查询与延迟加载

    1.分步查询

    先查询用户的部门

    部门Mapper.xml

    <resultMap id="rMap" type="com.yunqing.mybatis.bean.Department">
            <id column="id" property="id"/>
            <result column="department" property="departmentName"/>
        </resultMap>
        <select id="getDepByIdStep2" resultMap="rMap">
            SELECT id,department FROM t_dep WHERE id=#{id}
        </select>

    再通过查用户查出部门

    用户Mapper.xml

    <resultMap id="rMap" type="com.yunqing.mybatis.bean.User">
            <id column="id" property="id"/>
            <result column="name" property="name"/>
            <result column="age" property="age"/>
    <!--depUser实体类中的Department dep;select中的内容是查询DepartmentMapper接口的getDepByStep2方法;dep_id是User数据库表字段名-->
    <association property="dep" select="com.yunqing.mybatis.dao.DepartmentMapper.getDepByIdStep2" column="dep_id"> </association> </resultMap> <select id="getUserByIdStep1" resultMap="rMap"> SELECT * FROM t_user WHERE id=#{id} </select>

    2.延迟加载

    分部查询的好处是可以延迟加载,只有在需要时才查询部门,不需要时可以不用查询部门。

    需要在分部查询的基础上加上两个设置。

        <settings>
            <setting name="lazyLoadingEnabled" value="true"/>
            <setting name="aggressiveLazyLoading" value="false"/>
        </settings>
  • 相关阅读:
    末学者笔记--KVM虚拟化存储管理(3)
    离线安装docker-ce
    OpenStack各组件的常用命令
    docker容器的基本命令
    nfs samba文件共享服务
    kvm虚拟机管理(创建、连接)
    虚拟化kvm的搭建
    python(pymysql操作数据库)
    三大特征 封装 继承 多态
    面向对象
  • 原文地址:https://www.cnblogs.com/yunqing/p/8178874.html
Copyright © 2011-2022 走看看