一、数据源的由来
JDBC操作主要由以下几步组成:
(1)Class.forName();
(2)Connection con = DriverManager.getConnection();
(3)PreparedStatement stat = con.prepareStatement(sql);
(4)stat.executeQuery();
(5)con.close();
很显然,(1)(2)(5)步是每次JDBC操作都要执行的,重复执行是非常耗时的,因此为了解决重复操作的问题,引入了数据源。
二、数据源介绍
存在一个数据库连接池,在池中存在多个数据库连接,用户对数据库操作时取出一个,用完放回连接池中。
考虑因素:
(1)最小连接数:连接池中最小的连接个数;
(2)最大连接数:连接池中最大连接个数;
(3)最大等待时间:不能连接时最长等待时间;
Tomcat对数据库连接池支持;
三、JNDI(Java Naming Directory Interface)
1.通过DataSource的名字查找对应的DataSource;
2.通过一个DataSource在连接池中获得一个Connection;
四、配置步骤
A 全局数据源的配置
全局数据源意思是配置了一个数据源后任何web应用都能够访问。
(1)将数据库的驱动程序复制到tomcat\lib中;
(2)在server.xml中加入:
<Context path="/Test" docBase="E:\JAVA WEB" reloadable="true"> <!-- 数据源需要在Context中配置-->
<Resource name="jdbc/xiazdong" <!-- 数据源名称-->
auth="Container"
type="javax.sql.DataSource"
maxActive="100" <!-- 最大连接数-->
maxIdle="30" <!-- 最小连接数-->
maxWait="10000" <!-- 最大等待时间-->
username="root"
password="123456"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/xiazdong"/>
</Context>
(3)在web.xml中加入:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/xiazdong</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
B 局部数据源配置
(1)将驱动器复制到tomcat/lib中;
(2)在conf/catalina/localhost/test.xml中添加:
- <Resource name="jdbc/test" auth="Container"
- type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/javaee"
- username="root" password="12345" maxActive="5"
- maxIdle="2" maxWait="10000"/>
作为<Context>的子元素;
五、主要操作步骤
Context ctx = new InitialContext();
DataSource ds = ctx.lookup("java:comp/env/jdbc/xiazdong");
Connection con = ds.getConnection();
可以很清楚的看出,从以上代码完全看不出操作的是哪个数据库,配置都在配置文件中;
Tomcat数据源总结的更多相关文章
-
Tomcat数据源
Tomcat数据源原理,配置,使用 在程序中,使用数据源是可以提升操作性能的,这种性能 的提升依靠运行的操作原理. 传统的JDBC操作: 1. 加载数据库驱动,通过CLASSPATH配置 2. 通过D ...
-
07.十分钟学会tomcat数据源
一.数据源的作用及操作原理 1, 首先先看下传统JDBC的操作 在tomcat中使用数据库连接池操作数据库 2,JNDI属于命名及目录查找接口,在javaee的javax.naming包中 这套AP ...
-
Tomcat数据源的原理,配置及使用(JNDI)
Tomcat数据源的原理,配置及使用 知识点: 1.数据源的作用及操作原理; 2.Tomcat中数据源的配置; 3.数据源的查找及使用 传统JDBC使用过程存在以下四个步骤: 1.加载驱动程序 2.进 ...
-
JDBC 学习复习9 配置Tomcat数据源
在实际开发中,我们有时候还会使用服务器提供给我们的数据库连接池,比如我们希望Tomcat服务器在启动的时候可以帮我们创建一个数据库连接池,那么我们在应用程序中就不需要手动去创建数据库连接池,直接使用T ...
-
Tomcat数据源(DataSource)简介
JDBC2.0提供了javax.sql.DataSource接口,它负责建立与数据库的连接,在应用程序中访问数据库时不必编写连接数据库的代码,可以直接从数据源获得数据库连接 1.数据库和连接池 在Da ...
-
java web(二) Tomcat数据源
一.数据源的产生 1.JDBC操作原理 (1) 加载数据库驱动程序(数据库驱动程序可通过classpath配置): Class.forName(); (2)通过DriverManager类取得数据库连 ...
-
Tomcat 5.5 JNDI Resource 配置 (tomcat数据源配置)
转自:http://blog.csdn.net/fenglibing/article/details/4528512 Tomcat 5.5 JNDI Resource 配置 Author Blog:h ...
-
TOMCAT数据源连接配置
/* *本文档简单介绍系统使用TOMCAT6.0数据源方式连接数据库的配置方法: *1,系统环境: gdczsam4.0 + Tomcat6.0 + JDK1.5 + SQL Server2008 ...
-
mysql wait_timeout 8小时问题解决,tomcat数据源的配置
异常报错: 2017-02-13 09:30:17.597 [startQuertz_Worker-6] ERROR com.autoyol.task.TransStatManageTask#exec ...
-
使用Tomcat数据源的方式访问数据库(MySql) --Struts2框架应用与开发
1.为方便测试首先创建数据库和表,然后插入测试数据 2.打开Tomcat服务器安装目录的conf/下的context.xml,配置context.xml文件. 在<Context>标签 ...
随机推荐
-
informix(懒得通用)
1.create view 444(...) as select ...from... 2.insert into select.......union select 不支持 请分开写 ...
-
用PowerMock mock final类constructors
也相对简单,直接贴代码 被测方法 public class EmployeeServiceWithParam { public void createEmployee(final Employee e ...
-
C++ operator 的一种不会的用法
自认为对C++比较熟悉,突然看到一些奇怪的代码(在看网上下载的代码Sockets): class SocketAddress { public: virtual ~SocketAddress() {} ...
-
最短路径问题——bellman算法
关于最短路径问题,最近学了四种方法——bellman算法.邻接表法.dijkstra算法和floyd-warshall算法. 这当中最简单的为bellman算法,通过定义一个边的结构体,存储边的起点. ...
-
Android Studio 三种添加插件的方式,androidstudio
前几篇blog我们介绍了如何安装和配置Android Studio,这篇Blog我们来聊聊如何给Android Studio添加插件,添加插件的路径有三种,我把他们分类如下: 点击设置小按钮 点击[P ...
-
scala读取jar包外配置文件的方式
在scala的开发过程中,经常会修改程序的参数,将这些参数放到配置文件中避免了重复编译,打包的过程 这里给出读取配置文件的三种方式 方式一: 这是最常见的读取配置文件方式 val postgprop ...
-
登陆页、注册页、会员中心页logo图的替换
关闭 PHP在线开发笔记 目录视图 摘要视图 订阅 异步赠书:9月重磅新书升级,本本经典 程序员9月书讯 每周荐书:ES6.虚 ...
-
python修改字典的值(update map value)
mydict.update({'newkey':'newvalue'})
-
Tomcat使用IDEA远程Debug调试
Tomcat运行环境:CentOS6.5.Tomcat7.0.IDEA 远程Tomcat设置 1.在tomcat/bin下的catalina.sh上边添加下边的一段设置 CATALINA_OPTS=& ...
-
Java获取数据库表 字段 存储的部分数据
在浏览器页面,选中图片(可多选) >单击删除按钮. 重点是, 本数据库表TabHeBeiTianQi中 存在 同一id,对应的picLocalPath字段 存储了多张图片,图片地址用 逗号 ...