`
gaoxing_china
  • 浏览: 28371 次
  • 性别: 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数据库实例展示了如何通过Ibatis进行数据库操作,包括数据源配置、Mapper接口设计、XML映射文件编写,以及Spring整合等关键环节。理解并熟练掌握这些步骤,将有助于开发出更加灵活和高效的...

    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 实例

    1. **MySQL数据库基础**:包括表结构设计、SQL语言(SELECT、INSERT、UPDATE、DELETE)、索引优化、事务处理等。 2. **JDBC连接**:虽然Ibatis降低了对JDBC的直接依赖,但了解JDBC的基本概念,如数据库连接、...

    iBaties连接mysql数据库CRUD实例

    本实例是关于如何使用iBATIS连接MySQL数据库进行CRUD(Create、Read、Update、Delete)操作的一个具体应用。 首先,让我们深入了解iBATIS的核心概念: 1. SQL映射文件:iBATIES的核心是SQL映射文件,通常以`.xml`...

    IBATIS连接多数据库参考文档

    在实际应用中,`AnthorMap.config`文件应包含每个数据库的详细配置信息,如数据库类型(如MySQL、Oracle等)、连接字符串、事务管理设置等。在.NET版本的IBATIS中,这些信息通常是以XML格式组织的,类似于以下示例:...

    ibatis 连接字符串 SqlMapConfig.xml

    结合这些文件,我们可以推断该压缩包可能是为了演示如何配置iBATIS连接MySQL数据库,并可能涉及到使用不同数据库(如Oracle)的兼容性问题。用户可能需要将这些JDBC驱动添加到项目的类路径中,以便iBATIS能够识别并...

    Ibatis+MySql(含对应数据库sql) 源码

    它与MySql数据库的结合,为开发者提供了灵活的数据访问方式,使得数据库操作更加简单易用。Ibatis 2.3版本与MySQL 5.2的配合,是许多项目中的常见选择,这是因为它们的稳定性和兼容性得到了业界的认可。 Ibatis的...

    IBatis查删改查与调用存储过程 mysql数据库

    "IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...

    简单的ibatis与mysql的交互

    本教程将围绕“简单的ibatis与mysql的交互”这一主题展开,帮助初学者理解如何在Eclipse环境下使用Ibatis与MySQL数据库进行交互。 首先,Ibatis的核心理念是将SQL语句写在XML配置文件中,这样既保持了代码的整洁,...

    Spring + Ibatis 与mysql集群集成

    本教程将深入探讨如何将Spring、Ibatis框架与MySQL集群集成,以实现高效、可靠的数据库操作。 首先,让我们了解Spring和Ibatis。Spring是一个全面的Java应用开发框架,它提供了依赖注入、面向切面编程、事务管理等...

    关于ibatis连接MSSQL和MySQL的CRUD

    本篇将深入探讨如何使用Ibatis连接MSSQL与MySQL数据库,并结合Junit4进行测试。 首先,Ibatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者通过SQL语句直接操作数据库,同时避免了传统的JDBC代码繁琐。在...

    Spring_Struts_Ibatis_Mysql Demo

    【Spring_Struts_Ibatis_Mysql Demo】是一个典型的Java Web应用程序示例,它整合了四个关键的技术框架:Spring、Struts、iBatis和MySQL数据库。这个项目旨在展示如何在实际开发中有效地集成这些组件,创建一个功能...

    ibatis mysql jar

    总结一下,`ibatis mysql jar`这个主题涵盖了两个关键点:一是MySQL的JDBC驱动`mysql-connector-java-5.1.6-bin.jar`,它是连接Java应用和MySQL数据库的桥梁;二是Ibatis框架的`ibatis-2.3.0.677.jar`,它提供了一种...

    struts2+ibatis+mysql 项目

    在这个项目中,iBatis用于处理与MySQL数据库的交互,包括数据的增删改查和事务管理。 MySQL是流行的开源关系型数据库管理系统,以其高效、稳定和易于使用著称。在本项目中,`sql`文件很可能是数据库的初始化脚本,...

    IBatis.net 配置各种数据库

    例如,对于MySQL数据库,可以在SqlMapConfig.xml中添加如下配置: ```xml &lt;add name="MySqlConnection" type="iBatisNet.DataProviders.MySql.MySqlConnectionProvider, iBatisNet.DataProviders.MySql"/&gt; ...

    ibatis操作mysql

    这里我们配置了一个名为`development`的环境,使用了JDBC事务管理器和一个数据源,其中包含了连接MySQL数据库所需的参数。 然后,创建映射文件(如UserMapper.xml),定义SQL语句和结果映射。映射文件通常放在项目...

    使用ibatis操作大对象,mySQl数据库

    本篇文章将详细讲解如何使用iBatis这个流行的Java持久层框架来操作MySQL数据库中的大对象。 首先,iBatis是一个轻量级的ORM(对象关系映射)框架,它允许开发者将SQL语句与Java代码分离,提高了代码的可维护性和...

    ibatis+mysql

    文件"ibatestest2"可能是一个包含测试用例的Java类,用于演示如何使用Ibatis操作MySQL数据库。这个类通常会包含以下部分: - 加载SqlSessionFactory:通过SqlSessionFactoryBuilder和配置文件创建...

    spingmvc+velocity+ibatis+mysql开发

    在本项目中,iBatis作为持久层框架,负责与MySQL数据库进行交互,如执行增删改查等操作。开发者可以编写XML配置文件或注解来定义SQL查询,iBatis会自动执行这些查询并将结果映射为Java对象。 ### MySQL MySQL是一...

Global site tag (gtag.js) - Google Analytics