日期:2014-05-16  浏览次数:20286 次

Struts中数据库连接池的配置

?今天帮同学看一个项目,然后第一次碰到数据库是连接时放在struts配置文件中的,然后上网找了一些解决办法。后来就OK了,记录一下解决办法。供以后参考!

?

struts可以配置多个数据库连接池,下面给个我的连接例子(下面的例子参考了网上的解决办法

?

?

<!-- 配置数据库连接池 -->
  <data-sources>
    <!-- mysql数据库的连接池配置 -->
    <!-- 
     type指定BasicDataSource类所在的位置
     在Tomcat 6.0\lib目录下,有一个tomcat-dbcp.jar的包,将该包导入项目!
     BasicDataSource类就在jar包的org.apache.tomcat.dbcp.dbcp包中。
     使用key属性可是配置多个不同数据库的连接池,起标识的作用
    -->
    <data-source type="org.apache.tomcat.dbcp.dbcp.BasicDataSource" key="mysql">
      <!-- 配置数据库的用户名 -->
      <set-property property="username" value="root"/>
      <!-- 配置数据库的密码 -->
      <set-property property="password" value="1234"/>
      <!-- 配置数据库的url -->
      <set-property property="url" value="jdbc:mysql://localhost/test"/>
      <!-- 配置数据库的驱动 -->
      <set-property property="driverClassName" value="com.mysql.jdbc.Driver"/>
      <!-- 配置数据库的初始连接数 -->
      <set-property property="minActive" value="2"/>
      <!-- 配置数据库的最大连接数 -->
      <set-property property="maxActive" value="10"/>
      <!-- 配置连接超时的时间,单位是毫秒 -->
      <set-property property="wait-timeout" value="5000"/>
      <!-- 配置是否自动提交,默认为true,一般设为false,以方便业务逻辑中的事务处理 -->
      <set-property property="defaultAutoCommit" value="false"/>
    </data-source>
    
    <!-- oracle数据库的连接池配置 -->
    <data-source type="org.apache.tomcat.dbcp.dbcp.BasicDataSource" key="orcl">
      <set-property property="username" value="scott"/>
      <set-property property="password" value="admin"/>
      <set-property property="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
      <set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
      <set-property property="minActive" value="2"/>
      <set-property property="maxActive" value="10"/>
      <set-property property="wait-timeout" value="5000"/>
      <set-property property="defaultAutoCommit" value="false"/>
    </data-source>
  </data-sources>

?

在Action中获取连接对象:

javax.sql.DataSource database= this.getDataSource(request,"mysql");

java.sql.Connection connection= ds.getConnection();

?

最后!

oracle的我没有尝试过,mysql的是可行的。出错主要是项目没有导入?tomcat-dbcp.jar这个包

?

不用谢!