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&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(); %>
分享到:
相关推荐
很棒的数据库多连接池程序,对每个连接可以配置一个连接池,可以对问题连接定时处理,同时支持连接多个数据库,增加修改都支持配置,,所以配置都放置在缓存中,定期刷新。 是用JAVA写的,已经上线的东东,已经经过...
数据库连接池用在网站后台架构中,非常有利于提高用户请求的响应速度。为此,我编写了一个...经过上千个多线程同时访问的数据库连接池程序 。 资源包括一个接口,两个实现。一个测试类。 大家可以使用它,修改它。
一个效果非常不错的JAVA数据库连接池,代码很清楚,注释很多。
多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的配置...
数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现数据源的动态切换和案例 数据源连接池的基本用法,配置信息,代码案例、 实现...
数据库连接池,是一种相当实用的应用程序。它可以保存、维护及创建用户所需的数据库连接。从而使得用户得到一个连接的时间降低90%以上。大大提升了数据库访问的反应时间。 这个是一个开源的代码。大家可以修改它、...
数据库连接池,是一种相当实用的应用程序。它可以保存、维护及创建用户所需的数据库连接。从而使得用户得到一个连接的时间降低90%以上。大大提升了数据库访问的反应时间。 这个是一个开源的代码。大家可以修改它、...
并在学习掌握了实现连接池的关键技术后给出了一个较为高效的连接池管理策略,在这种策略思想的指导下实际开发出一个数据库连接池模块,使得上层应用通过本连接池访问数据库资源变得相对高效和容易,从实际上论证了...
clearpool是一个开源的高性能的分布式数据库池,它可以高效地管理多个数据库源,并支持分布式事务。clearpool有着良好的性能,因为它最大程度地复用了数据库连接池的连接。 clearpool的功能: 有效地...
J2EE 程序员一般都有现成的应用服务器所带的JDBC 数据库连接池,不过对于开发一般的 Java Application 、 Applet 或者 JSP、velocity 时,我们可用的JDBC 数据库连接池并不多,并且一般性能都不好。我们可以自己写一...
这样就达到了连接复用的目的,应用程序重复使用一个数据库连接,在多层结构的应用程序中通过连接池技术可以使系统的性能明显得到提到。最为关键的是,该方法避免了一个应用系统,同时有几百人甚至几千人频繁的进行...
java连接池,可以自己更换数据库。管理类ConnectionPool支持对一个或多个由属性文件定义的数据库连接
多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的...
jdbc使用c3p0连接池连接数据库,支持配置多个数据源,有相关的查询测试。
Java网络编程-多个例子,多线程,连接池,文件传输
R2 jdbc连接池,用于java程序中jdbc连接池的配置管理,可应用于非web项目(纯java项目),全参数化配置。 应用时,先用rar打开jar包,拷贝r2.properties文件到class目录,并修改参数。 本包需要用到log4j,请在...
多池调用方式为R2Pool pool1=R2PoolUtil.getPool(new File("第一个连接池的配置文件.properties")); Connnection conn1 = pool1.getConnection(); R2Pool pool2=R2PoolUtil.getPool(new File("第二个连接池的配置...
本文将详细介绍Spring Boot中如何使用HikariCP作为数据库连接池,包括其工作原理、优势分析、配置步骤以及代码示例。通过本文,读者将能够轻松集成HikariCP到Spring Boot项目中,从而提高数据库连接的性能和效率。 ...
程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉不出系统...
R2 jdbc连接池,用于java程序中jdbc连接池的配置管理,可应用于非web项目(纯java项目),全参数化配置。 应用时,先用rar打开jar包,拷贝r2.properties文件到class目录,并修改参数。 本包需要用到log4j,请在调用...