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 JDBC 数据库连接池总结 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。在 Web 应用开发的早期,主要使用的技术是 CGIASPPHP 等。之后,Sun 公司推出了基于 Java 语言的 ...
数据库连接池是一种对象池设计模式的应用,它维护了一组数据库连接,供多个应用程序共享。通过复用已建立的连接,避免了频繁创建和销毁连接带来的开销,从而提升了系统性能。数据库连接池还提供了诸如连接管理和资源...
Java数据库连接池是Java开发中一个非常重要的技术,它主要用于管理数据库连接,提高数据库操作的效率和性能。在Java应用程序中,频繁地创建和关闭数据库连接会导致大量的系统资源浪费,而连接池则可以复用已建立的...
数据库连接池是Java开发中非常重要的一个概念,它在处理大量并发访问数据库的应用场景中扮演着关键角色。本文将深入探讨数据库连接池的工作原理、重要性以及如何在Java中实现一个简单的连接池。 首先,数据库连接池...
Java JDBC 数据库连接池总结 Java JDBC 数据库连接池是 Java 应用程序访问数据库的基本原理之一。Java 语言通过 JDBC 技术访问数据库,JDBC 是一种“开放”的方案,为数据库应用开发人员和数据库前台工具开发人员...
本项目提供了一个轻量级的Java数据库连接池实现,旨在简化开发过程,提高应用性能并降低资源消耗。下面将详细介绍这个轻量级Java数据库连接池的设计理念、工作原理以及如何使用。 1. **设计理念** 轻量级数据库...
总的来说,理解并实现一个简单的数据库连接池可以帮助我们更好地理解和利用这一技术,同时也能锻炼我们的多线程编程和设计能力。在实际项目中,结合maven和其他开源库,我们可以构建出高效、可靠的数据库连接管理...
Java数据库连接池(JDBC Connection Pool)是一种管理数据库连接的技术,它允许应用程序重复使用已经存在的数据库连接,而不是每次需要时都创建新的连接。这大大提高了应用程序的性能和效率,因为创建和销毁数据库...
数据库连接池是Java应用程序中非常重要的一个组成部分,它在处理多用户并发访问数据库时能显著提高性能和资源利用率。在给定的标题“自己写的数据库连接池(java)”中,我们可以推测这是一个用户自定义的数据库连接池...
Java JDBC 数据库连接池技术是Java应用程序访问数据库的关键优化手段,尤其在Web应用程序中,它解决了传统JDBC连接方式存在的效率低下和资源浪费问题。Java JDBC(Java Database Connectivity)是Java语言与各种...
- **多数据库服务器和多用户**: 对于需要连接多个数据库或者同一数据库有多个用户访问的情况,可以通过配置文件来管理不同的数据库连接信息,并且为每个数据库创建单独的连接池实例。这种方式可以很好地支持大型企业...
在描述中提到的几个数据库连接池,是提高数据库访问性能的重要工具。数据库连接池在初始化时会创建一定数量的数据库连接并保存起来,当应用程序需要连接时,可以从池中获取一个已存在的连接,而不是每次都去新建,用...
DBCP(Database Connection Pool)是Apache软件基金会的Commons项目中的一个组件,它提供了一个数据库连接池服务。数据库连接池在应用服务器启动时创建一定数量的数据库连接,并将这些连接放入池中,当应用程序需要...
数据库连接池在初始化时会创建一定数量的数据库连接,这些连接在应用程序需要时可以被复用,而不是每次请求时都创建新的连接,从而减少了创建和销毁连接的开销。C3P0作为连接池实现之一,提供了很多配置参数,例如...
数据库连接池是数据库管理中的重要概念,它在Java Web应用中尤其常见,主要用于优化数据库的连接管理和资源利用。自定义数据库连接池是为了更好地适应特定应用的需求,提高数据存取的效率,减少系统开销,避免频繁...
Java数据库连接池驱动是Java应用程序在访问数据库时用于优化资源管理的一种技术。它提供了一种在多个数据库操作之间重用数据库连接的方式,从而避免了频繁创建和关闭连接带来的性能开销。连接池的核心思想是池化资源...