快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

MyBatis3.4.0版本的新特性有哪些

MyBatis 3.4.0版本的新特性有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联是一家从事企业网站建设、网站制作、网站建设、行业门户网站建设、网页设计制作的专业网站设计公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点上千多家。

新增功能

1. Cursor 新增返回值类型为游标的方法

当查询大量(上百万)数据的时候,使用游标可以有效的减少内存使用,不需要一次性将所有数据得到,可以通过游标逐个或者分批(逐个获取一批后)处理。

SqlSession 中新增的 3 个游标方法:

/**
 * A Cursor offers the same results as a List, except it fetches data lazily using an Iterator.
 * @param  the returned cursor element type.
 * @param statement Unique identifier matching the statement to use.
 * @return Cursor of mapped objects
 */
 Cursor selectCursor(String statement);

/**
 * A Cursor offers the same results as a List, except it fetches data lazily using an Iterator.
 * @param  the returned cursor element type.
 * @param statement Unique identifier matching the statement to use.
 * @param parameter A parameter object to pass to the statement.
 * @return Cursor of mapped objects
 */
 Cursor selectCursor(String statement, Object parameter);

/**
 * A Cursor offers the same results as a List, except it fetches data lazily using an Iterator.
 * @param  the returned cursor element type.
 * @param statement Unique identifier matching the statement to use.
 * @param parameter A parameter object to pass to the statement.
 * @param rowBounds Bounds to limit object retrieval
 * @return Cursor of mapped objects
 */
 Cursor selectCursor(String statement, Object parameter, RowBounds rowBounds);

注意: 3.4.0 版本的游标方法目前有个 bug,因此不支持 @Select 注解方式,在将来的 3.4.1 版本中会解决这个问题。

使用示例:

xml 里面没有任何改变,在获取值的地方有变化,例如使用接口:

Cursor selectAll();

或者使用命名接口方式:

Cursor cityList = sqlSession.selectCursor("selectAll");

得到结果后,使用方法如下:

Iterator iterator = cityList.iterator();
while(iterator.hasNext()){
 City c2 = iterator.next();
 Assert.assertNotNull(c2);
 Assert.assertNotNull(c2.getName());
 Assert.assertNotNull(c2.getState());
}

嵌套查询的情况

当使用嵌套查询时,还需要设置resultOrdered="true"属性,使用方法如下:


                
                
                提交需求
            
        

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 成都快上网科技有限公司 成都网站建设公司-选网站建设公司快上网!国内专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备19037934号-11