`
gaoxing_china
  • 浏览: 27998 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

ibatis连接Mysql数据库

阅读更多

我在使用ibatis连接mysql数据库时,出现如下错误,在长时间未操作系统后,首次(操作)登录出现的错误。

这种问题好像是使用陈旧的数据库连接池连接问题,mysql会在长时间为使用连接时关闭数据库连接,而我又使用了此已经关闭了的连接,所以出现如下错误,这只是我自己的认识,不知道如何解决。希望的到帮助,谢谢。

我的数据库连接配置文件如下

<!---->

java 代码
  1. <!---->"1.0" encoding="utf-8" ?>   
  2. <!---->"-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">   
  3. <sqlmapconfig></sqlmapconfig>  
  4.   "false" enhancementEnabled="true"  
  5.     lazyLoadingEnabled="true" maxRequests="32"  
  6.     maxSessions="10" maxTransactions="5"  
  7.     useStatementNamespaces="false"  
  8.   />   
  9.     "JDBC">   
  10.     "SIMPLE">   
  11.     "JDBC.Driver" value="com.mysql.jdbc.Driver"/>   
  12.     "JDBC.ConnectionURL" value="jdbc:mysql://*************?characterEncoding=GBK"/>   
  13.     "JDBC.Username" value="****"/>   
  14.     "JDBC.Password" value="*****"/>   
  15.     <!---->   
  16.     "Pool.MaximumActiveConnections" value="10"/>   
  17.     "Pool.MaximumIdleConnections" value="5"/>   
  18.     "Pool.MaximumCheckoutTime" value="120000"/>   
  19.     "Pool.TimeToWait" value="10000"/>   
  20.     "Pool.PingQuery" value="select * from *****"/>   
  21.     "Pool.PingEnabled" value="true"/>   
  22.     "Pool.PingConnectionsOlderThan" value="0"/>   
  23.     "Pool.PingConnectionsNotUsedFor" value="0"/>   
  24.        
  25.        
  26.   <!---->   
  27.   "**********************" />   
  28.   
  29.   

错误输出如下:

 

  1. HTTP Status 500 -    
  2.   
  3. --------------------------------------------------------------------------------   
  4.   
  5. type Exception report   
  6.   
  7. message    
  8.   
  9. description The server encountered an internal error () that prevented it from fulfilling this request.   
  10.   
  11. exception    
  12.   
  13. com.ibatis.dao.client.DaoException: Failed to queryForList - id [getAdminByName], parameterObject [admin].  Cause: com.ibatis.common.jdbc.exception.NestedSQLException:      
  14. --- The error occurred in com/vodone/cpms/sql/Admin.xml.     
  15. --- The error occurred while executing query.     
  16. --- Check the                   select * from admin where user_name = ?                   .     
  17. --- Check the SQL Statement (preparation failed).     
  18. --- Cause: java.sql.SQLException: No operations allowed after connection closed.   
  19.   
  20. Connection was closed due to the following exception:   
  21.   
  22. ** BEGIN NESTED EXCEPTION **    
  23.   
  24. java.sql.SQLException   
  25. MESSAGE: Communication link failure: java.io.EOFException, underlying cause: null  
  26.   
  27. ** BEGIN NESTED EXCEPTION **    
  28.   
  29. java.io.EOFException   
  30.   
  31. STACKTRACE:   
  32.   
  33. java.io.EOFException   
  34.     at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1319)   
  35.     at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1463)   
  36.     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1854)   
  37.     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1109)   
  38.     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1203)   
  39.     at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1164)   
  40.     at com.mysql.jdbc.Connection.execSQL(Connection.java:2087)   
  41.     at com.mysql.jdbc.Connection.execSQL(Connection.java:2049)   
  42.     at com.mysql.jdbc.Connection.execSQL(Connection.java:2030)   
  43.     at com.mysql.jdbc.Connection.rollbackNoChecks(Connection.java:3004)   
  44.     at com.mysql.jdbc.Connection.rollback(Connection.java:1458)   
  45.     at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:621)   
  46.     at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:215)   
  47.     at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)   
  48.     at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)   
  49.     at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:123)   
  50.     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:610)   
  51.     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:584)   
  52.     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:101)   
  53.     at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:78)   
  54.     at com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForList(SqlMapDaoTemplate.java:203)   
  55.     at com.vodone.cpms.dao.impl.AdminDaoImpl.getAdminByUserName(AdminDaoImpl.java:16)   
  56.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   
  57.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   
  58.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   
  59.     at java.lang.reflect.Method.invoke(Method.java:589)   
  60.     at com.ibatis.dao.engine.impl.DaoProxy.invoke(DaoProxy.java:72)   
  61.     at $Proxy8.getAdminByUserName(Unknown Source)   
  62.     at com.vodone.cpms.service.AdminService.getAdmin(AdminService.java:27)   
  63.     at com.vodone.cpms.servlet.ControlCenterServlet.login(ControlCenterServlet.java:559)   
  64.     at com.vodone.cpms.servlet.ControlCenterServlet.doGet(ControlCenterServlet.java:47)   
  65.     at com.vodone.cpms.servlet.ControlCenterServlet.doPost(ControlCenterServlet.java:612)   
  66.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)   
  67.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)   
  68.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)   
  69.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)   
  70.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)   
  71.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)   
  72.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)   
  73.     at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)   
  74.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)   
  75.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)   
  76.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)   
  77.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)   
  78.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)   
  79.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)   
  80.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)   
  81.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)   
  82.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)   
  83.     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)   
  84.     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)   
  85.     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)   
  86.     at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)   
  87.     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)   
  88.     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)   
  89.     at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)   
  90.     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)   
  91.     at java.lang.Thread.run(Thread.java:626)   
  92.   
  93.   
  94. ** END NESTED EXCEPTION **  
java 代码

 

分享到:
评论
4 楼 withoutmewang 2007-08-02  
防火墙?
3 楼 totobacoo 2007-08-02  
ibatis + win mysql 5.0 ,没遇到这个问题。

挂几天不用也不会自动断
2 楼 sillycat 2007-08-01  
我记得好像mysql上面有个配置。如果多长时间没有访问数据库。数据库就会主动把连接断掉。我记得好像当时我把那个设置改长了就没有出现过那个问题了。mysql默认的是8个小时,我们那个时候做的政府网站,晚上没有人用,所以连接就自动断了。
1 楼 gaoxing_china 2007-06-20  
很郁闷,此问题困扰我很久了不知道怎么解决。

相关推荐

    Ibatis连接MySQL数据库实例

    Ibatis连接MySQL数据库实例 有代码 项目下下来直接跑就行了,不过要修改数据库配置信息哦 跑不起来我吃翔三斤

    C#中iBatis连接mySQL使用的DLL

    C#中iBatis连接mySQL使用的DLL

    Ibatis结合MySQL数据库的使用方法Demo

    本工程用于研究Ibatis和MySQL结合使用的方法 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` char(36) NOT NULL...

    ibatis +mysql 实例

    ibatis +mysql 实例 :是一个web项目 (简单的增删改查)

    mysql test

    连接mysql 使用ibatis连接mysql 数据库代码,以及测试方法

    关于ibatis连接MSSQL和MySQL的CRUD

    关于ibatis连接MSSQL和MySQL的CRUD,Junit4测试

    Swing实现的功能

    通过swing+ibatis连接mysql数据库实现的企业级桌面应用程序,

    Struts2+Spring2+iBatis2+MySQL的完整示例

    开发环境说明 ...本示例完整地结合Struts2+Spring2+iBatis2+MySQL5,演示了一个用户表的增、删、改、查。 想完整学习Struts2+Spring+iBatis的同仁,可以在这个例子中学习或模仿最基本也是最核心的技术要点。

    Ibatis.net.7z

    Ibatis.net连接mysql数据库所需的依赖库和相关配置文件

    SSI实例(源码+mysql数据库+部署)

    SSI实例(源码+数据库+部署说明),数据库使用连接池,自己编写的搭建框架的代码,包含登录,增删改查,包含jar包: commons-dbcp.jar ibatis-2.3.0.677.jar mysql-connector-java-5.1.13.jar spring-aop-3.2.1....

    struts2+spring+ibatis 增删改查例子

    struts2+spring+ibatis 基于MySQL数据库的一个小例子,包含:增、删、改、查, 使用apache dbcp连接池连接数据库,包、数据库文件、源码都有,直接导入就可以了

    struts2+spring+ibatis 增删改查例子(2)

    struts2+spring+ibatis 基于MySQL数据库的一个小例子,包含:增、删、改、查,使用apache dbcp连 接池连接数据库,包、数据库文件、源码都有,直接导入就可以了

    MyBatisTest

    实现ibatis与mysql的连接,简单的实现了通过ibatis来操作数据库。

    ibatis数据库示例

    ibatis很好的一些示例代码 一些xml的配置很详细 ibatis是通过xml写sql语句连接数据库的 这样很灵活

    原生封装sql语句,增删改查,附带连接数据库

    原生封装sql语句,增删改查,附带连接数据库

    ibatis2.3例子代码

    ibatis例子,本例子是使用MySQL的,若使用Oracle或其他数据库,可以查看JDBC连接时使用的URL和账号用户名信息,具体自行查询。

    osgi数据库连接demo

    osgi数据库连接一章demo,c3p0配置oracle连接池和ibatis在osgi框架中的使用

    Python使用Pandas库实现MySQL数据库的读写

    本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识 ORM技术 对象关系映射技术,即ORM(Object-Relational Mapping)技术,指的是把关系数据库的表结构映射到对象上...

    Spring+iBatis整合详解

    ibatis和Spring整合的详细例子,数据库用的是mysql,开发环境是Eclipse3.2: 1.首先把用到的包导入进来,此例用的是spring-framework-1.2.7,iBATIS_DBL-2.1.7.597,mysql的数 据库连接包用的是mysql-connector-java-5.0.3...

    Ibatis_Spring_Demo

    这个Project是关于ibatis 和 ...1.这个Demo使用的数据库为mysql数据库,所以jar中引用了mysql的一个jar包。 2.ibatis和spring的整合主要是spring的配置文件需要配置ibatis的相关配置,如:数据库连接及事务管理等。

Global site tag (gtag.js) - Google Analytics