ORG.APACHE.IBATIS.TRANSACTION.TRANSACTIONeXCEPTION:Error configuring AutoCommit,Your driver may not

本文介绍如何解决MyBatis中出现的TransactionException错误,该错误与数据库连接的AutoCommit配置有关。通过修改MyBatis配置文件,启用连接池的Ping机制来确保数据库连接的有效性。

错误信息: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 604,992,953 milliseconds ago.

修改mybatis配置文件:

<?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="db.properties" />

<!-- 环境定义 -->
<environments default="development">
<environment id="development">
<transactionManager type="jdbc" />
<dataSource type="pooled">

<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${userid}" />
<property name="password" value="${passwd}" />
<property name="poolPingQuery" value="SELECT NOW()" />
<property name="poolPingEnabled" value="true" />

</dataSource>
</environment>
</environments>

<!-- 注册自己的 mapper 文件 -->
<!-- 分两种:XML文件形式 和 Annonation注释形式 -->
<!-- 注释形式需要注册 Mapper接口 -->
<mappers>
<mapper class="cn.golfonline.sureface.sport.mapper.SportMapper" />
</mappers>

</configuration> 

 

在查找特定版本的 iBATIS 库时,尤其是 `org.apache.ibatis:ibatis-sqlmap:2.3.0`,需要了解该版本的使用方式以及获取途径。iBATIS 是一个早期的持久层框架,后来被 MyBatis 所取代,但仍有部分遗留系统在使用 iBATIS 2.x 版本。 iBATIS SQL Map 2.3.0 是 iBATIS 框架的核心模块之一,主要用于实现 Java 对象与数据库记录之间的映射。该版本的典型使用方式包括配置 `SqlMapConfig.xml` 文件,并通过 `SqlMapClient` 实例执行 SQL 映射文件中定义的操作。 ### 获取 iBATIS 2.3.0 的方式 1. **Maven 依赖配置** 如果项目使用 Maven 构建工具,可以通过以下依赖配置引入 iBATIS 2.3.0: ```xml <dependency> <groupId>org.apache.ibatis</groupId> <artifactId>ibatis-sqlmap</artifactId> <version>2.3.0</version> </dependency> ``` 2. **手动下载** 可以从 [Maven Central](https://search.maven.org/) 或 [MVNRepository](https://mvnrepository.com/artifact/org.apache.ibatis/ibatis-sqlmap/2.3.0) 下载 `ibatis-sqlmap-2.3.0.jar` 文件。 3. **使用说明** iBATIS 2.3.0 的核心配置文件为 `SqlMapConfig.xml`,用于定义数据源、事务管理器以及 SQL 映射文件的路径。一个典型的配置如下所示: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/mydb"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="password"/> </dataSource> </transactionManager> <sqlMap resource="com/example/mapper/UserMapper.xml"/> </sqlMapConfig> ``` 4. **SQL 映射文件** SQL 映射文件(如 `UserMapper.xml`)用于定义 SQL 语句及其与 Java 对象之间的映射关系。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="User"> <select id="selectUser" resultClass="com.example.model.User"> SELECT * FROM users WHERE id = #id# </select> </sqlMap> ``` 5. **注意事项** - iBATIS 2.3.0 已不再维护,建议新项目优先考虑使用 MyBatis。 - 若必须使用 iBATIS,请确保其与其他依赖库的兼容性。 - 在生产环境中使用时,应关注安全性问题,如避免 SQL 注入等风险。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值