Tomcat中通过JNDI配置访问数据库

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1,所需要的jar文件:commons-pool.jar, commons-dbcp.jar

2,server.xml的配置:

<Resource name="jdbc/hellohibernate" scope="Shareable" auth="Container"

type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/hellohibernate">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>removeAbandoned</name>

<value>true</value>

</parameter>

<parameter>

<name>logAbandoned</name>

<value>true</value>

</parameter>

<!-- DBCP database connection settings -->

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost:3306/test</value>

</parameter>

<parameter>

<name>driverClassName</name><!--<value>com.mysql.jdbc.Driver</value>-->

<value>org.gjt.mm.mysql.Driver</value>

</parameter>

<parameter>

<name>username</name>

<value>root</value>

</parameter>

<parameter>

<name>password</name>

<value></value>

</parameter>

<!-- DBCP connection pooling options -->

<parameter>

<name>maxWait</name>

<value>3000</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>100</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>10</value>

</parameter>

</ResourceParams>

3,程序中的调用:

Context ctx = new InitialContext();

if (ctx == null)

throw new Exception("Boom - No Context");

DataSource ds =

(DataSource) ctx.lookup(

"java:comp/env/jdbc/hellohibernate");

if (ds != null) {

Connection conn = ds.getConnection();

if (conn != null) {

foo = "Got Connection " + conn.toString();

Statement stmt = conn.createStatement();

ResultSet rst =

stmt.executeQuery(

"select username,id from user");

if (rst.next()) {

foo = rst.getString(1);

bar = rst.getInt(2);

}

conn.close();

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航