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下图:延迟加载。但是没有循环遍历集合

  • 相关阅读:
    SqlServer查询优化方法
    关于导入excel问题
    修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法
    软件架构之我见
    算法-插入排序
    算法-快速排序
    WCF系列 Restful WCF
    WCF系列 基础概念
    cocos2dx-是男人就坚持20s 练手项目
    nodejs 聊天室简单实现
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11324471.html
Copyright © 2011-2022 走看看