tomcat中通过DataSource访问数据库

来源:岁月联盟 编辑:zhu 时间:2005-07-04
1.       在server.xml中加入<Resource>元素:

<Resource name="jdbc/BaronDB" auth="Container" type="javax.sql.DataSource"/> 2.       在server.xml中加入<ResourceParams>元素,定义数据库连接相关参数:

<ResourceParams name="jdbc/BaronDB">

        <parameter>

               <name>factory</name>

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

        </parameter>

        <parameter>

               <name>maxActive</name>

               <value>100</value>

        </parameter>

        <parameter>

               <name>maxIdle</name>

               <value>30</value>

        </parameter>

        <parameter>

               <name>maxWait</name>

               <value>10000</value>

        </parameter>

        <parameter>

               <name>username</name>

               <value>sa</value>

        </parameter>

        <parameter>

               <name>password</name>

               <value>229</value>

        </parameter>

        <parameter>

               <name>driverClassName</name>

               <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

        </parameter>

        <parameter>

<name>url</name>      

<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=guard</value>

        </parameter>

</ResourceParams> 3.       在web.xml中加入<resource-ref>元素:

  <resource-ref>

    <res-ref-name>jdbc/BaronDB</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Container</res-auth>

    <res-sharing-scope>Shareable</res-sharing-scope>

  </resource-ref> 4.       本代码以sqlServer为例说明,需要将其相关的jdbc驱动程序拷贝到<CATALINA_HOME>/common/lib目录下.

5.       在程序中通过连接池取得数据库连接:

try{

        Context ctx = new InitialContext();

               if(ctx == null)

                      throw new Exception("no Context!");

               ds = (DataSource)ctx.lookup("java:comp/env/jdbc/BaronDB");

}

catch(Exception e){

        System.out.println(e.getMessage());

}