zoukankan      html  css  js  c++  java
  • 阶段3 1.Mybatis_11.Mybatis的缓存_3 mybatis一对一实现延迟加载

    不用骨架创建项目



    复制一对多的代码src下的代码到我们刚才创建的项目里面




    把依赖信息复制过来

    这里原来实现的功能是立即加载的功能。sql语句是一次性查询的两个表关联的查询。

    调整代码

    删除AccountUser这个类



    AccountTtest只保留findAll的方法


    associaiton先剪切掉。

    修改后

    先运行这个单表操作

    别名的问题

    这是下面这个方法配置引起的。删掉下面红框内的代码即可。

    再次来执行。正常执行成功

    配置延迟加载

    这里我们需要使用一个新的属性,叫做select


    其实select调用的就是 IUserDao里面的findById这个方法


    测试


    数据时都查出来了。没有任何问题。


    执行了三条sql语句。并没有看到有延迟的效果


    延迟加载默认是false。这是Mybits官方网站的 文档

    我们当前用的Mybits的版本是3.4.5.arrgressivelLazyLoading属性不设置也是可以的

    在全局的SqlMapConfig.xml内进行配置

    再来测试



    入股我们这里的循环遍历都注释掉

    那么他就只执行了一个主sql


    左1:没有延迟加载。 右1:延迟加载,但是循环遍历了集合
    左1下图:延迟加载。但是没有循环遍历集合

  • 相关阅读:
    奇偶数排序
    买房子
    首字母大写
    学分绩点
    加减乘除
    最简真分数
    Hdu 1058 Humble Numbers
    Hdu 1032 The 3n + 1 problem
    Hdu 1040 As Easy As A+B
    Hdu 1025 Constructing Roads In JGShining's Kingdom
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11324471.html
Copyright © 2011-2022 走看看