mybatis分页插件以及懒加载

1.   延迟加载

延迟加载的意义在于,虽然是关联查询,但不是及时将关联的数据查询出来,而且在需要的时候进行查询。

开启延迟加载:

<setting name="lazyLoadingEnabled" value="true"/>

<setting name="aggressiveLazyLoading" value="false"/>

lazyLoadingEnabled:true使用延迟加载,false禁用延迟加载。默认为true

aggressiveLazyLoading:true启用时,当延迟加载开启时访问对象中一个懒对象属性时,将完全加载这个对象的所有懒对象属性。false,当延迟加载时,按需加载对象属性(即访问对象中一个懒对象属性,不会加载对象中其他的懒对象属性)。默认为true

 mybatisde 分页:

其实分页的原理就是加个拦截器,在原有的sql加上limit分页查询而已

具体使用参考《Mybatis分页插件 - PageHelper.docx》

https://my.oschina.net/flags/blog?sort=time&p=2&temp=1474428389127

http://www.cnblogs.com/shanheyongmu/p/5864047.html

http://www.cnblogs.com/zhujiabin/p/5104841.html

引入插件,顺序一定不能乱,否则会报错,应在<environments>上面

<plugins>
        <!-- com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <!-- 方言 -->
            <property name="dialect" value="mysql"/>
            <!-- 该参数默认为false -->
            <!-- 设置为true时,使用RowBounds分页会进行count查询,查询数据总条数-->
            <property name="rowBoundsWithCount" value="true"/>
        </plugin>
    </plugins>
/**
     * 一对多的查询
     */
    @Test
    public void queryOrderAndUserAndOrderDetailByOrderNumber() {
        //设置分页数据,第1页,3条数据
         PageHelper.startPage(1, 3);
        
        List<Order> orders = orderMapper
                .queryOrderAndUserAndOrderDetailByOrderNumber("20140921002");
        PageInfo<Order> page = new PageInfo<Order>(orders);
        for (Order order : page.getList()) {
            System.out.println(order);
        }
        for (Order order2 :orders ) {
            System.out.println(order2);
        }
         // 封装页面信息
       
          System.out.println("数据总条数:" + page.getTotal());
            System.out.println("数据总页数:" + page.getPages());
            System.out.println("最后一页:" + page.getLastPage());
      /**
       下面这行代码不会再进行分页,只有紧跟着startPage的代码才会分页
      */
    orders=  orderMapper
            .queryOrderAndUserAndOrderDetailByOrderNumber("20140921002");
            
    }
<!--    控制台打印-->

Order [id=1, userId=1, orderNumber=20140921002, user=User [id=1, userName=zhangsan, password=null, name=张三, age=30, sex=null, birthday=null, created=null, updated=null]]
Order [id=2, userId=2, orderNumber=20140921002, user=User [id=2, userName=lisi, password=null, name=李四, age=21, sex=null, birthday=null, created=null, updated=null]]
Order [id=1, userId=1, orderNumber=20140921002, user=User [id=1, userName=zhangsan, password=null, name=张三, age=30, sex=null, birthday=null, created=null, updated=null]]
Order [id=2, userId=2, orderNumber=20140921002, user=User [id=2, userName=lisi, password=null, name=李四, age=21, sex=null, birthday=null, created=null, updated=null]]
数据总条数:6
数据总页数:2
最后一页:2
原文地址:https://www.cnblogs.com/wangchuanfu/p/5891165.html