java web mybatis 查询慢

来源:互联网 发布:中国电信网络在线测速 编辑:程序博客网 时间:2024/06/05 10:14

最近项目中在查询大批量数据时遇到了速度慢的问题,sql拿到数据库查询客户端使用后发现sql没有问题,运行很快。监控后台发现每一次都是卡在sql打印后,半天才出结果。针对这个问题也是上网查了好久。发现也许是mybaitis配置的问题,没有做到优化导致。参考了以下两篇文章,明天试试看。有结果了回来给出答案。

转载一:

<!--         1.type 对应类型,可以是javabean, 也可以是其它        2.id 必须唯一, 用于标示这个resultMap的唯一性,在使用resultMap的时候,就是通过id指定     -->    <resultMap type="" id="">            <!-- id, 唯一性,注意啦,这个id用于标示这个javabean对象的唯一性, 不一定会是数据库的主键(不要把它理解为数据库对应表的主键)             property属性对应javabean的属性名,column对应数据库表的列名            (这样,当javabean的属性与数据库对应表的列名不一致的时候,就能通过指定这个保持正常映射了)        -->        <id property="" column=""/>                <!-- result与id相比, 对应普通属性 -->            <result property="" column=""/>                <!--             constructor对应javabean中的构造方法         -->        <constructor>            <!-- idArg 对应构造方法中的id参数 -->            <idArg column=""/>            <!-- arg 对应构造方法中的普通参数 -->            <arg column=""/>        </constructor>                <!--             collection,对应javabean中容器类型, 是实现一对多的关键             property 为javabean中容器对应字段名            column 为体现在数据库中列名            ofType 就是指定javabean中容器指定的类型        -->        <collection property="" column="" ofType=""></collection>                <!--             association 为关联关系,是实现N对一的关键。            property 为javabean中容器对应字段名            column 为体现在数据库中列名            javaType 指定关联的类型         -->        <association property="" column="" javaType=""></association>    </resultMap>

转载二:

为单个SQL查询定义defaultRowPrefetch, 在Mybatis的定义中为fetchSize<select id="MS-FIND-PublishedOffers-By-MemberId-Paged" resultMap="RM-OfferResult" fetchSize="200">CGLIB增强定义<settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000" maxTransactions="3000" useStatementNamespaces="false"/>

参考网址

(1)https://www.cnblogs.com/dongying/p/4073259.html

(2)http://w800927.iteye.com/blog/1167844


原创粉丝点击