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(); } }
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>