`
lingfeng179
  • 浏览: 26657 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

java同时配置多个数据库连接池

    博客分类:
  • java
阅读更多

java配置数据库连接池以mysql和sqlserver为例

配置tomcat下面的content.xml

 

<!-- The contents of this file will be loaded for each web application -->
<Context>
<Resource name="jdbc/mysql"   
       auth="Container"   
           
       type="javax.sql.DataSource"   
       driverClassName="com.mysql.jdbc.Driver"     
	   url="jdbc:mysql://localhost:3306/com?useUnicode=true&amp;characterEncoding=UTF-8"
       username="root"   
       password="root"   
       maxActive="100"   
       maxIdle="2"   
       maxWait="10000" />
      <ResourceParams name="jdbc/mysql">
         <parameter>
         <name>removeAbandoned</name>
   	 <value>true</value>
      </parameter>
      <parameter>
        <name>removeAbandonedTimeout</name>
        <value>60</value>
      </parameter>
    <parameter>
       <name>logAbandoned</name>
    <value>true</value>
    </parameter>
   </ResourceParams>
  <Resource name="jdbc/sqlserver"   
       auth="Container"
	   type="javax.sql.DataSource"   
	   driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"   
	   url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=fashion"   
	   username="sa"   
	   password=""   
	   maxActive="100"   
	   maxIdle="30"   
	   maxWait="10000" />
      <ResourceParams name="jdbc/sqlserver">
         <parameter>
         <name>removeAbandoned</name>
   	 <value>true</value>
      </parameter>
      <parameter>
        <name>removeAbandonedTimeout</name>
        <value>60</value>
      </parameter>
    <parameter>
       <name>logAbandoned</name>
    <value>true</value>
    </parameter>
   </ResourceParams>-->
    <!-- Default set of monitored resources -->
 <!--   <WatchedResource>WEB-INF/web.xml</WatchedResource>-->
	<WatchedResource>WEB-INF/web.xml</WatchedResource>
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
</Context>

 

 设置项目目录下面的WEB-INF下面的web.xml文件 在里面加入

 

	<!-- 数据源 -->
     <resource-ref>
  	    <description>DB Connection</description>   
    	<res-ref-name>jdbc/mysql</res-ref-name>   
    	<res-type>javax.sql.DataSource</res-type>   
    	<res-auth>Container</res-auth>   
 	 </resource-ref>
 	 <resource-ref>
  	    <description>DB</description>   
    	<res-ref-name>jdbc/sqlserver</res-ref-name>   
    	<res-type>javax.sql.DataSource</res-type>   
    	<res-auth>Container</res-auth>   
 	 </resource-ref>

测试文件

 

<%@ page contentType="text/html;charset=UTF-8" import="com.shop.util.*"%>
<%@ page import="java.sql.*"%>    
<%@ page import="javax.sql.*"%>     
<%@ page import="javax.naming.*"%> 
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
DataSource ds = null;
InitialContext ctx=new InitialContext();    
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver");    
Connection conn = ds.getConnection();   
%>
		  		<%
	Statement stmt=conn.createStatement();
	String sql_gun="select * from sm_t_salesheet" ;
	ResultSet rs_gun=stmt.executeQuery(sql_gun);
 	while(rs_gun.next())
  	{
	%>
		  		<%=rs_gun.getString("sheet_no")%>
	<%
	 }
	 rs_gun.close();
	 stmt.close();
	 %>
	
<%conn.close(); %>

<%
DataSource ds2 = null;
InitialContext ctx2=new InitialContext();    
ds2=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");    
Connection conn2 = ds2.getConnection();   
%>
	<%
	Statement stmt2=conn2.createStatement();
	String sql_gun2="select * from sm_t_salesheet" ;
	ResultSet rs_gun2=stmt2.executeQuery(sql_gun2);
 	while(rs_gun2.next())
  	{
	%>
		  		<%=rs_gun2.getString("sheet_no")%>
	<%
	 }
	 rs_gun2.close();
	 stmt2.close();
	 %>
	
<%conn2.close(); %>

 

 

分享到:
评论
1 楼 zp_scfc 2016-09-26  
[list]
  • [i][i]
    引用
    [list]
  • [*][list]
  • [*][*][*][url][flash=200,200][url]
    [b][u][url][*][*][*][*][*][*][*][*][*][*][*][*]
    [url][list]
    [*]
    引用
    [/list][/url]
    [/url][/u][/b]
    [/url][/flash][/url]
  • [*][/list]
  • [/list]
  • [/i][/i][/list]

    相关推荐

      自己写的数据库连接池 JAVA 可支持同时连多个数据库

      很棒的数据库多连接池程序,对每个连接可以配置一个连接池,可以对问题连接定时处理,同时支持连接多个数据库,增加修改都支持配置,,所以配置都放置在缓存中,定期刷新。 是用JAVA写的,已经上线的东东,已经经过...

      自己写的java数据库连接池

      数据库连接池用在网站后台架构中,非常有利于提高用户请求的响应速度。为此,我编写了一个...经过上千个多线程同时访问的数据库连接池程序 。 资源包括一个接口,两个实现。一个测试类。 大家可以使用它,修改它。

      一个效果非常不错的JAVA数据库连接池

      一个效果非常不错的JAVA数据库连接池,代码很清楚,注释很多。

      R2高性能数据库连接池v1.5源码

      多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的配置...

      关于数据库连接池和动态数据源的实现

      数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现...

      java高性能数据库连接池V2.0

      数据库连接池,是一种相当实用的应用程序。它可以保存、维护及创建用户所需的数据库连接。从而使得用户得到一个连接的时间降低90%以上。大大提升了数据库访问的反应时间。 这个是一个开源的代码。大家可以修改它、...

      java高性能数据库连接池V5.0

      数据库连接池,是一种相当实用的应用程序。它可以保存、维护及创建用户所需的数据库连接。从而使得用户得到一个连接的时间降低90%以上。大大提升了数据库访问的反应时间。 这个是一个开源的代码。大家可以修改它、...

      基于JAVA JSP数据库连接池的研究与实现的毕业设计,使用数据库连接池方式能对数据库的连接进行管理和维护,上层应用程序通过数据

      并在学习掌握了实现连接池的关键技术后给出了一个较为高效的连接池管理策略,在这种策略思想的指导下实际开发出一个数据库连接池模块,使得上层应用通过本连接池访问数据库资源变得相对高效和容易,从实际上论证了...

      高性能的分布式数据库连接池clearpool.zip

      clearpool是一个开源的高性能的分布式数据库池,它可以高效地管理多个数据库源,并支持分布式事务。clearpool有着良好的性能,因为它最大程度地复用了数据库连接池的连接。 clearpool的功能: 有效地...

      Java 的JDBC 数据库连接池实现方法.zip_J2EE JSP_connection pool jdbc_java 连接池

      J2EE 程序员一般都有现成的应用服务器所带的JDBC 数据库连接池,不过对于开发一般的 Java Application 、 Applet 或者 JSP、velocity 时,我们可用的JDBC 数据库连接池并不多,并且一般性能都不好。我们可以自己写一...

      java-JSP数据库连接池的研究与实现(源代码+论文)

      这样就达到了连接复用的目的,应用程序重复使用一个数据库连接,在多层结构的应用程序中通过连接池技术可以使系统的性能明显得到提到。最为关键的是,该方法避免了一个应用系统,同时有几百人甚至几千人频繁的进行...

      java连接池可以自己更换数据库

      java连接池,可以自己更换数据库。管理类ConnectionPool支持对一个或多个由属性文件定义的数据库连接

      R2数据库连接池高性能连接池v1.3

      多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的...

      jdbc使用c3p0连接池连接数据库的工具类

      jdbc使用c3p0连接池连接数据库,支持配置多个数据源,有相关的查询测试。

      Java网络编程-多线程,连接池

      Java网络编程-多个例子,多线程,连接池,文件传输

      R2高性能数据库连接池v1.6源码

      R2 jdbc连接池,用于java程序中jdbc连接池的配置管理,可应用于非web项目(纯java项目),全参数化配置。 应用时,先用rar打开jar包,拷贝r2.properties文件到class目录,并修改参数。 本包需要用到log4j,请在...

      R2数据库连接池高性能连接池v1.2

      多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的配置...

      Spring Boot与HikariCP:性能卓越的数据库连接池

      本文将详细介绍Spring Boot中如何使用HikariCP作为数据库连接池,包括其工作原理、优势分析、配置步骤以及代码示例。通过本文,读者将能够轻松集成HikariCP到Spring Boot项目中,从而提高数据库连接的性能和效率。 ...

      Java_jdbc数据库连接池总结.doc

       程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统...

      R2数据库连接池运用jdk1.6特性的高性能全参数化配置连接池

      R2 jdbc连接池,用于java程序中jdbc连接池的配置管理,可应用于非web项目(纯java项目),全参数化配置。 应用时,先用rar打开jar包,拷贝r2.properties文件到class目录,并修改参数。 本包需要用到log4j,请在调用...

    Global site tag (gtag.js) - Google Analytics