Mybatis报错解决: Your driver may not support getAutoCommit() or setAutoCommit()

本文介绍了一个偶发的MyBatis数据库连接超时错误,详细解析了错误原因,包括配置不当导致的自动提交失败和长时间未使用的连接被数据库服务器关闭。通过在MyBatis配置文件中增加特定属性,如poolPingQuery和poolPingEnabled,可以有效避免此问题,确保数据库连接的健康检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息:

### Cause: org.apache.ibatis.transaction.TransactionException: Error configuring AutoCommit.  Your driver may not support getAutoCommit() or setAutoCommit(). Requested setting: false.  Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 82,940,457 milliseconds ago.  The last packet sent successfully to the server was 82,940,457 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

这个错误是偶尔才发现,解决办法是在mybatis配置文件中加如下配置:

<property name="poolPingQuery" value="SELECT NOW()" />
<property name="poolPingEnabled" value="true" />

完整配置如下:

<?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>
    <!--数据源配置  使用mysql数据库 -->
    <environments default="aaa">
        <environment id="aaa">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!-- 并发最大连接数 默认10-->
                <property name="poolMaximumActiveConnections" value="1000"/>
                <property name="driver" value="${jdbc.driver}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
                <property name="poolPingQuery" value="SELECT NOW()" />
                <property name="poolPingEnabled" value="true" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="common-mapper.xml"/>
    </mappers>
</configuration>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值