美文网首页
mysql错误之一

mysql错误之一

作者: 晏子小七 | 来源:发表于2018-03-01 11:32 被阅读147次

iBatis org.apache.ibatis.transaction.TransactionException – Error configuring AutoCommit

最近发现用mybatis实现的登录功能,偶尔会爆出如下异常:

<pre class="brush:java prettyprint linenums">

  1. org.apache.ibatis.exceptions.PersistenceException:
  2. Error opening session. Cause: org.apache.ibatis.transaction.TransactionException: Error configuring AutoCommit.

  3. Your driver may not support getAutoCommit() or setAutoCommit(). Requested setting: false.
  4. Cause: com.mysql.jdbc.CommunicationsException:
  5. Communications link failure due to underlying exception... ...

</pre>

多试几次以后,就又正常了,这个异常不是一直存在。不得其解,google 之,得到一种解决方案,不过他遇到的情况发生在mysql重启之时。

源地址: http://burtsev.net/en/2012/01/12/100

解决此问题,需要在mybatis(iBatis)的配置文件中加入两个属性:poolPingQuery 和 poolPingEnabled。具体如下:

<pre class="brush:xml prettyprint linenums">

  1. <?xml version="1.0" encoding="UTF-8" ?>

  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

  3. <configuration>

  4. <typeAliases>

  5. ...

  6. </typeAliases>

  7. <environments default="development">

  8. <environment id="development">

  9. <transactionManager type="JDBC" />

  10. <dataSource type="POOLED">

  11. <property name="driver" value="${db.driver}" />

  12. <property name="url" value="${db.url}" />

  13. <property name="username" value="${db.user}" />

  14. <property name="password" value="${db.password}" />

  15. <property name="poolPingQuery" value="SELECT id FROM user WHERE id = 1" />

  16. <property name="poolPingEnabled" value="true" />

  17. </dataSource>

  18. </environment>

  19. </environments>

  20. </configuration>

</pre>

其中SELECT id FROM user WHERE id = 1是查询配置中的数据库的某个表,这里是user表,推测这里可以配置成任意一个可以执行的sql语句,当然越简单越好。

http://cssor.com/ibatis-org-apache-ibatis-transaction-transactionexception-error-configuring-autocommit.html

相关文章

网友评论

      本文标题:mysql错误之一

      本文链接:https://www.haomeiwen.com/subject/ckrgxftx.html