概述
很多刚刚接触mybatis的人都不知道应该如何去实现延迟加载,那么具体的要怎样才能实现呢?下面就让我们一起详细的来进行一下了解。
其实mybatis延迟加载就是按需查询(也就是在需要时进行查询)。
下面有两张表,分别是图书表(book)和图书类型表(category)。
他们是通过类型id进行关联的,现在的话要显示图书类型名,点击类型名再显示这个类型下面的所有的图书。
可以在类型实体类里面添加一个属性存放这个类型下面的图书:public class Category {
private int cid;
private String cname;
private List
books;
//省略get set
}
将图书类型以及图书一次性查询出来,下面是SQL语句。SELECT book.*,cname FROM book,category WHERE book.cid = category.cid
这样的话能够完成功能,可是,我们只需要显示图书类型,点击时,才显示这个类型的图书,假如,可以做到开始只查询类型,点击类型时再查询这个类型的图书,那么,就不需要再进行两表联查了,能够提高查询的效率,也非常的节省内存,这也就是延迟加载。
那么延迟加载究竟要怎样才能够实现呢?
Category实体类同上,UserDao.xml:
select * from category
select * from book where cid = #{cid}
只有在点击类型时才需要查询这个类型下面的图书,所以的话,这里没有用两表联查,而是选择了将类型表的查询语句和图书表的查询语句分开。
注意,要重点的看一下配置:
collection,association是支持延迟加载的。
select属性表示要执行的sql语句,column表示执行sql语句要传的参数,这个参数是select * from
category查询出来的字段cid,property=”books”表示查询出来的结果给到books属性。
关于mybatis怎样去实现延迟加载你都了解了吗?更多相关知识,请继续通过关注奇Q工具网的常见问题栏目来进行了解吧。
推荐阅读:
最后
以上就是粗心百褶裙为你收集整理的mybaits延迟加载原理_mybatis如何实现延迟加载?mybatis延迟加载实现原理详解的全部内容,希望文章能够帮你解决mybaits延迟加载原理_mybatis如何实现延迟加载?mybatis延迟加载实现原理详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复