当前位置: 首页 > 面试题库 >

重用与数据库的连接

左丘积厚
2023-03-14
问题内容

直到现在,每当查询数据库时,我都会打开与数据库的新连接。如何实现打开连接后就可以重用的属性?

完成此操作后,请告诉我是否可以泄漏资源。


问题答案:

基本上,您需要JDBC连接池,通常需要实现DataSource接口。看看dbcp和c3p0。您的容器/服务器可能已经提供了连接池的实现。

每次 打开 连接时使用连接池时,实际上是从该连接中取出一个连接(如果池为空则 打开 一个连接)。当 关闭
连接时,它实际上是返回到池中。仅当您忘记后者时才会发生泄漏。 (或忘记关闭 ResultSetStatement…)



 类似资料:
  • 我使用的是ubuntu系统和Mysql 8.0。我试图用jdbc类连接数据库,但出现了一个错误,尽管我添加了mysql连接器。jar文件, 我在下面提到的错误-- JAVAlang.module。FindException:读取模块:/home/surya/eclipse workspace/Advancedjava/bin时出错,原因是:java。lang.module。InvalidModul

  • 问题内容: 我正在寻找检查与Mongo DB的连接的最佳方法。情况:客户端向服务器发出请求(api)。服务器返回所有数据库的状态。 最好的方法是什么? 问题答案: 使用了Java中,所有你需要的信息在这里… http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java- driver/

  • 我试图使用pyodbc连接到Azure SQL数据库,但收到错误: Pyodbc.InterfaceError:('28000','[28000][Microsoft][SQL Server的ODBC驱动程序17][SQL Server]用户'adminc'登录失败。(18456)(SQLDriverConnect);[28000][Microsoft][SQL Server的ODBC驱动程序17

  • 我在MySQL上有2个数据库。ge和GE_SC001。 我可以通过我的ASP.NET mvc应用程序在本地访问这两个。 Web.config null 稍后,当我在web服务器上部署应用程序,并尝试从本地机器访问它们时。我将server=localhost更改为机器的面向外部的IP地址。现在我只能访问一个GE。当我尝试访问第二个时,它会给我错误。 拒绝用户“root”@“对数据库”GE_SC001

  • 我正在开发一个查询多个数据库的监控插件。我想使用HikariCP来保持连接打开,但我不知道如何实例化连接池。 HikariCP是否只使用一个池来存储多个数据库?或者一个数据库只有一个池,我的责任是实例化我将使用的数据库中的尽可能多的池。

  • 我们正在使用tomcat jdbc连接池与Oracle数据库。最近,我们遇到了JDBC瘦客户机的Oracle数据库中存在太多非活动会话的问题。 有人能帮我们吗?它为什么会导致数据库中的非活动会话,以及对此的解决方案是什么。