`
goodluck168
  • 浏览: 1904 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Connection对象不为空,为什么创建Statement对象时却报conn关闭

阅读更多
今天在公司用java开发时,发现一个很奇怪的问题,我在操作数据库的时修改,Connection对象不为空,但在创建Statement对象时却报链接已关闭。请教各位大虾了。
************************** conn is not null
java.sql.SQLException: Connection is closed.
        at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.
checkOpen(PoolingDataSource.java:174)
        at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.
createStatement(PoolingDataSource.java:203)
        at com.forlink.forwf.kernel.dao.dbdao.WorkItemDBDao.getWorkItemsCount(Un
known Source)
分享到:
评论

相关推荐

    怎样实现关闭connection时自动关闭Statement和ResultSet (下篇)

    在这个改进后的版本中,当离开try块时,所有的AutoCloseable对象(包括Connection、Statement和ResultSet)都会自动关闭,无论是否抛出异常,从而避免了资源泄露的问题。 此外,还可以考虑使用PreparedStatement和...

    connection 和 preparedstatement 的关闭问题

    ### Connection 和 PreparedStatement 的关闭问题 在Java编程语言中,处理数据库连接及执行SQL语句时,合理地管理和释放资源是非常重要的。本文将详细介绍`Connection`和`PreparedStatement`的使用时机与关闭策略,...

    prepareStatement和Statement的区别

    首先,从创建时的区别开始,Statement 需要通过 Connection 对象的 createStatement() 方法创建,而 PreparedStatement 需要通过 Connection 对象的 prepareStatement() 方法创建,并且需要带有 SQL 语句。...

    jdbc访问数据库的步骤

    3. **创建Statement或PreparedStatement对象**:通过`Connection`对象创建`Statement`或`PreparedStatement`对象,用于执行SQL语句。`PreparedStatement`比`Statement`更安全且效率更高,因为它支持预编译SQL语句,...

    JDBC(用PrepareStatement实现)

    创建PreparedStatement对象需要通过Connection接口的prepareStatement()方法,传入SQL语句作为参数。例如: ```java Connection conn = DriverManager.getConnection(url, username, password); ...

    jdbc connection

    3. **创建Statement**:通过`Connection.createStatement()`或`Connection.prepareStatement()`创建执行SQL语句的对象。`Statement`用于执行静态SQL,而`PreparedStatement`则用于预编译SQL,提供更好的性能和安全性...

    mysq5.5-connection-jar包

    - 通过连接对象`conn`,可以创建Statement或PreparedStatement对象,执行SQL操作。 - 最后,记得在完成所有操作后关闭连接,以释放资源。 4. **关键类和接口**: - `java.sql.Connection`:代表到数据库的会话,...

    DB_Conn.rar_DB_conn

    3. **创建Statement或PreparedStatement**:为了执行SQL语句,我们需要创建`Statement`或`PreparedStatement`对象。`Statement`用于执行静态SQL语句,而`PreparedStatement`允许预编译SQL,提高效率且防止SQL注入。 ...

    Connection简单操作

    当你创建一个`Connection`对象时,就建立了一个到特定数据库的物理连接。例如,在Java中,你可以使用以下代码创建`Connection`: ```java import java.sql.Connection; import java.sql.DriverManager; public ...

    java data base connection

    4. 创建Statement或PreparedStatement对象:`Statement stmt = conn.createStatement();` 或 `PreparedStatement pstmt = conn.prepareStatement(sql);` 5. 执行SQL:`stmt.executeUpdate(sql)`(更新操作)或 `...

    数据库连接与遍历Student对象

    1. 创建Statement对象:`Statement stmt = conn.createStatement();` 2. 执行SQL查询:`ResultSet rs = stmt.executeQuery("SELECT * FROM Students");` 3. 遍历结果集:`while (rs.next()) {` - 访问当前行的数据...

    jdbc Connection test

    连接建立成功后,你可以使用`conn`对象执行SQL语句。这里我们介绍如何插入和删除数据。假设我们有一个名为`students`的表,包含`id`和`name`字段。 插入数据的示例代码如下: ```java String insertSql = "INSERT ...

    Java应用程序-习题-第13章.doc

    3. 创建 Connection 对象的语句是:Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "username", "password"); 4. 生成 Statement 对象的语句是:Statement stmt = conn....

    mysql——connection -jdbc

    7. **关闭资源**:操作完成后,记得关闭`ResultSet`、`Statement`和`Connection`以释放资源,防止内存泄漏。 ODBC(Open Database Connectivity)数据源是另一种连接数据库的方式,它提供了一个标准接口,让不同的...

    简易实现jdbc传对象

    首先,我们需要理解JDBC的基本操作步骤:加载数据库驱动、建立数据库连接、创建Statement或PreparedStatement对象、执行SQL语句以及处理结果集。在传统的JDBC操作中,我们通常是直接使用SQL语句插入、更新或查询数据...

    Java对象持久化的介绍等等

    这种方式可以确保即使在应用程序关闭后,对象的状态仍然能够被保留下来,并在需要时重新加载。在Java中,持久化主要应用于数据库操作领域,通过持久化技术,可以方便地将内存中的对象状态转换为持久存储的数据。 ##...

    jdbc连接数据库getConnection 增、删、改、查

    public static void ReleaseSoucre(ResultSet rs, Statement stmt, Connection conn) { try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch ...

    JDBC使用Statement修改数据库

    * 资源释放:使用完毕后需要关闭 Statement 对象和 Connection 对象以释放资源。 示例代码 以下是使用 Statement 对象修改数据库的示例代码: ```java public static void testStatement(String sqlStatement) { ...

    mysq_ jdbc连接与关闭封装代码

    该方法检查`Connection`是否为非空,然后尝试安全地关闭它。如果关闭过程中出现`SQLException`,则打印异常栈跟踪信息。 ##### 1.2.2 关闭Statement ```java public static void close(Statement stmt) { if (null...

    JDBC从入门到放弃02-JDBC的Statement数据库增加和删除

    在实际开发中,为了确保资源的有效管理,我们还需要在操作完成后关闭Statement和Connection,这通常通过try-with-resources语句实现: ```java try (Connection conn = DriverManager.getConnection(url, user, ...

Global site tag (gtag.js) - Google Analytics