不用骨架创建项目
复制一对多的代码src下的代码到我们刚才创建的项目里面
把依赖信息复制过来
这里原来实现的功能是立即加载的功能。sql语句是一次性查询的两个表关联的查询。
调整代码
删除AccountUser这个类
AccountTtest只保留findAll的方法
associaiton先剪切掉。
修改后
先运行这个单表操作
别名的问题
这是下面这个方法配置引起的。删掉下面红框内的代码即可。
再次来执行。正常执行成功
配置延迟加载
这里我们需要使用一个新的属性,叫做select
其实select调用的就是 IUserDao里面的findById这个方法
测试
数据时都查出来了。没有任何问题。
执行了三条sql语句。并没有看到有延迟的效果
延迟加载默认是false。这是Mybits官方网站的 文档
我们当前用的Mybits的版本是3.4.5.arrgressivelLazyLoading属性不设置也是可以的
在全局的SqlMapConfig.xml内进行配置
再来测试
入股我们这里的循环遍历都注释掉
那么他就只执行了一个主sql
左1:没有延迟加载。 右1:延迟加载,但是循环遍历了集合
左1下图:延迟加载。但是没有循环遍历集合