我正在使用JNDI进行数据库连接。我在META-INF中创建了一个用于连接的XML文件。
<?xml version="1.0" encoding="UTF-8"?>
<!-- The contents of this file will be loaded for each web application -->
<Context crossContext="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/myDB" auth="Container"
type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="600000"
username="root"
password="abc123"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/game"/>
</Context>
在java类中,我使用以下代码来获取连接
Context envContext;
Datasource ds;
envContext = new InitialContext();
Context initContext = (Context)envContext.lookup("java:/comp/env");
DataSource ds = (DataSource)initContext.lookup("jdbc/myDB");
Connection con=ds.getConnection();
但是,我该如何关闭连接呢?
答案 0 :(得分:2)
DataSource
将负责管理与数据库的物理连接。当您呼叫con.close
(必须)时,物理连接将返回到池并将连接设置为休眠状态。如果连接已关闭,DataSource
将负责获取新连接(如果可能)。
简而言之,您不必担心关闭物理连接。