ResourceParams name="jdbc/hellohibernat" />
龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

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

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
b>1,所需要的jar文件:commons-pool.jar, commons-dbcp.jar/b> b>2,server.XML的配置:/b> Resource name="jdbc/hellohibernate" scope="Shareable" auth="Container" type="Javax.sql.DataSource"/> ResourceParams name="jdbc/hellohibernat

  <b>1,所需要的jar文件:commons-pool.jar, commons-dbcp.jar</b>
  
  <b>2,server.XML的配置:</b>
  <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>
  
  <b>3,程序中的调用:</b>
  
  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();
  }
  }
  
精彩图集

赞助商链接