服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

tomcat 中通过 jndi 配置访问数据库


  <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();
          }
        }

扫描关注微信公众号