這是我的jboss/deploy/postgres-ds.xml文件。連接網址,用戶名和密碼在這裏給出。如何在我的servlet中獲得與此數據庫的連接。在JBoss中獲取數據庫連接?
<local-tx-datasource>
<jndi-name>PostgresDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/postgres</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>postgres</user-name>
<password>qwerty</password>
<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->
<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
</local-tx-datasource>
我應該獲得在每一個servlet的這樣的連接:
Connection conn =null; // Create connection object
String database = "postgres"; // Name of database
String user = "postgres"; //
String password = "qwerty";
String url = "jdbc:postgresql://localhost:5432/" + database;
ResultSet rs = null;
ResultSetMetaData rsm = null;
try{
Class.forName("org.postgresql.Driver").newInstance();
//.newInstance()
} catch(Exception e)
{
System.err.println(e);
}
try{
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException se)
{
System.err.println(se);
}
如果這必須每次這樣做,那麼爲什麼要給在Postgres的-ds.xml文件的URL,用戶名和密碼?
「的java.sql.Connection CON = ds.getConnection( );」。對於每個對此函數的調用,都會返回一個不同的連接對象? – suraj
從系統的角度來看,「不:不一定」。通過JDBC連接使用DS的另一個優點是使用DS可以讓您充分利用應用服務器的連接池。 – paulsm4
@Satya「javax.naming.Context ctx =(javax.naming.Context)ic.lookup(」java:「);」這條線在哪裏做查找?第三行在PostGres-ds.xml文件中進行查找。對? – suraj