`
dannyhz
  • 浏览: 387394 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mybatis timeout = 60 加上一个时间 可以让sql时间更长

 
阅读更多
引用



    <select id="financierRepay" parameterType="FmServiceFeeChargeRecord" resultType="FmServiceFeeChargeRecord" timeout="60">
        SELECT a.service_fee_charge_record_id,b.id as repay_record_id,a.service_entity_type,
        c.payment_amount as charge_amount,c.payment_date as create_date,d.account_id,
        d.`name` as account_name,c.assets_id,e.assets_name,e.assets_class,e.financier_id,e.financier_name,
        e.channel_partner_id,f.`name` as channel_partner_name from fm_service_fee_charge_record a
        LEFT JOIN fm_payment_records c on a.service_fee_charge_record_id = c.business_id
        LEFT JOIN fm_repay_record b on a.repay_record_id = b.id
        LEFT JOIN fm_account d on c.payment_account_id = d.account_id
  LEFT JOIN fm_service_fee_plan p on a.service_fee_charge_plan_id=p.service_fee_charge_plan_id
        LEFT JOIN fm_assets e on p.assets_id = e.assets_id
        LEFT JOIN fm_account f on e.channel_partner_id = f.account_id
        where b.id is not null and b.detail_voucher_id is null and DATE(b.trans_date)= #{createDate}
        and b.submit_regulatory_status=5 and b.repay_type in(1,2)
        and (b.repay_principal_amount !=0 or b.repay_interest_amount !=0)
        ORDER BY b.id,a.service_entity_type desc
    </select>





引用


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="conf/sweeter-config.properties"/><!-- 提供jdbc.dialectclass -->
<settings>
<setting name="jdbcTypeForNull" value="NULL" /><!-- 空值的缺省 JDBC类型  -->
<setting name="logImpl" value="LOG4J2" />
<setting name="mapUnderscoreToCamelCase" value="true" /><!-- 开启驼峰命名规则映射  -->
<setting name="defaultStatementTimeout" value="30" />
</settings>
<plugins>
  <plugin interceptor="cn.evun.sweet.core.mybatis.page.PageHelper">
        <property name="dialect" value=""/><!-- 交由代码处理 -->
        <!-- 默认为false.设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用-->
        <property name="offsetAsPageNum" value="true"/>
        <!-- 默认为false.设置为true时,使用RowBounds分页会进行count查询 -->
        <property name="rowBoundsWithCount" value="true"/>
        <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 ,(相当于没有执行分页查询,但是返回结果仍然是Page类型)-->
        <property name="pageSizeZero" value="true"/>
        <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 -->
        <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 -->
        <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 -->
        <property name="reasonable" value="true"/>
        <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 -->
        <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 -->
        <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值 -->
        <property name="params" value="pageNum=start;pageSize=limit;pageSizeZero=zero;reasonable=heli;count=contsql"/>
    </plugin>
    <plugin interceptor="cn.evun.sweet.core.mybatis.MybatisInterceptor"></plugin>
</plugins>
</configuration>



虽然后面的mybatis.xml里面有  <setting name="defaultStatementTimeout" value="30" />
但是我们可以用各个 sql的xml 的属性来微调各个sql的timeout 时间




分享到:
评论

相关推荐

    mybatis慢SQL插件

    基于mybatis的慢SQL小插件,原理是mybatis拦截器。只需要在springboot的配置文件做简单的配置,mybatis拦截器将SQL中所有参数自动做了填充。拦截器监控慢SQL并将完整的可执行的SQL语句打印在日志文件中,复制该SQL...

    Mybatis拦截器实现统计sql执行时间及打印完整sql语句

    首先,我们需要创建一个实现了 Mybatis `Interceptor` 接口的类,例如 `MybatisInterceptor.java`。这个接口提供了三个方法:`intercept`, `plugin` 和 `setProperties`。在这个案例中,我们将主要关注 `intercept` ...

    mybatissql_mybatis解决sql注入

    2. **使用SafeMapper插件**:MyBatis社区提供了一个名为SafeMapper的插件,它可以自动检查SQL语句,确保所有的用户输入都被正确地转义,防止可能的SQL注入攻击。 3. **使用MyBatis的拦截器**:通过实现`Interceptor...

    通过Mybatis拦截器自动定位慢SQL并记录日志

    在这里,我们需要定义一个慢SQL的阈值(SLOW_SQL_THRESHOLD),当SQL执行时间超过这个阈值时,我们就认为它是慢SQL,并将其记录下来。`logSlowSql`方法则负责将相关信息写入日志,这通常包括SQL语句、执行时间、可能...

    mybatis动态SQL语句

    if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis

    mybatis之动态SQL

    MyBatis 是一款深受 Java 开发者喜爱的持久层框架,它允许开发者将 SQL 查询与 Java 代码直接关联,提供了一种灵活的方式来处理数据库交互。动态 SQL 是 MyBatis 的一大特色,它允许我们在运行时根据条件构建 SQL ...

    MyBatis动态拼接SQL

    这是动态SQL中非常常用的一个标签。 ```xml &lt;update id="deleteByIds"&gt; DELETE FROM table WHERE id IN &lt;foreach item="item" index="index" collection="list" open="(" separator="," close=")"&gt; #{item} ...

    MyBatis连接SQLServer的小例子

    当然,这只是一个基础的例子,MyBatis还有许多高级特性,如动态SQL、结果映射、缓存等,可以根据实际需求进行深入学习和应用。在实际项目中,你还可以结合Spring Boot等框架,实现更便捷的自动化配置和管理。

    mybatis直接执行sql语句后续之一

    在IT行业中,MyBatis是一个广泛使用的持久层框架,它允许开发者直接编写SQL语句,提供了灵活的数据访问和映射机制。这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。...

    mybatisx,一款打印项目sql在日志中的插件

    如果某个SQL查询时间过长,开发者可以立即发现并进行优化。 3. **动态配置**:MybatisX允许开发者动态配置SQL打印的级别,可以根据需求选择只打印错误SQL,或者在开发阶段打印所有SQL。 4. **兼容性**:MybatisX...

    ideal mybatis打印sql插件

    把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...

    mybatis 动态sql及参数传递

    目录 使用场景 动态标签 if标签 where标签 choose、when、otherwise 标签 ...if标签通常用那个胡where语句,update语句,insert语句中,通过判断参数值来决定是否使用某个查询条件,判断是否更新某一个字段或插入某个字段

    Mybatis日志SQL解析工具

    该工具可以将mybatis输出的sql日志提取出来,并将其格式化为可以直接执行的sql语句,节约开发人员时间

    springboot+mybatis+sqlserver

    【标题】"springboot+mybatis+sqlserver"是一个基于Spring Boot、MyBatis和Microsoft SQL Server构建的基础开发框架,适用于快速开发企业级应用。这个框架整合了三个关键组件,旨在简化开发流程,提高开发效率。 ...

    mybatis如何防止SQL注入

    SQL注入是一种常见的Web应用程序安全漏洞,攻击者可以通过提交恶意的SQL代码到应用程序的输入字段中(如表单、URL等),利用这些输入来操控数据库执行非预期的操作,进而获取敏感数据、修改数据甚至破坏整个数据库...

    mybatis SQL日志解析

    mybatis SQL日志解析;查看日志时mybatis打印的日志查询条件以及参数不是拼接好的,想复制对应sql在本地执行时比较麻烦,通过前端编写页面进行日志解析,拼接sql中的问号以及参数变课轻松实现

    mybatis中进行sqlserver分页

    mybatis中,sqlserver分页

    mybatis Sql打印两种方式

    要实现SQL打印,我们可以自定义一个拦截器类,继承`org.apache.ibatis.plugin.Interceptor`接口,并实现`intercept`方法。 ```java public class MybatisSqlPrinter implements Interceptor { @Override public...

    MyBatis通过 JDBC连接 SQL server 数据库 最小例子

    MyBatis是一个流行的Java持久层框架,它简化了与数据库之间的交互,允许开发者将SQL查询直接集成到Java代码中。本教程将引导你通过JDBC连接到SQL Server 2005数据库,创建一个最小的例子来展示MyBatis的基本用法。 ...

    Mybatis中执行String类型的自己拼写的sql,不执行配置文件中的sql

    例如,如果我们有一个`UserMapper`接口,我们可以在其中定义一个获取用户的方法: ```java public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{id}") User getUserById(int id); } ``` ...

Global site tag (gtag.js) - Google Analytics