Tomcat数据源总结
一、数据源的由来
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>标签 ...
随机推荐
- 【Android开发】Api_Android_Distribute
原文链接:http://android.eoe.cn/topic/android_sdk {"version": "20120817","pageid ...
- iOS_生成pem推送证书(用于百度云推送)
具体步骤如下: 首先,需要一个pem的证书,该证书需要与开发时签名用的一致. 具体生成pem证书方法如下: 1. 登录到 iPhone Developer Connection Portal(http ...
- 【Unity】8.5 扩展编辑器
分类:Unity.C#.VS2015 创建日期:2016-04-27 一.简介 可以通过编辑器窗口 (Editor Windows) 创建自己在 Unity 中的自定义设计工具.来自EditorWin ...
- Android学习之Design Support Library中TextInputLayout的使用
今天学习了一个Android Design Support Library 中的TextInputLayout控件,感觉还不错,较之以往的Editetxt,多了几分灵活性,使用也非常easy,故此给大 ...
- Android各版本代号、版本号、API/NDK级别、发布时间及市场份额
Android各版本代号.版本号.API/NDK级别.发布时间及市场份额 代号 版本号 API/NDK级别 发布时间 - O 8.0 API level 26 2017-3-21 牛轧糖 Nougat ...
- angular内置过滤器-filter
这篇文章来讲解一下angular内置的filter过滤器. 没错,这个过滤器的名字,就叫'filter',虽然自定义过滤器也是使用module.filter()...但是不要混淆了,这个filter就 ...
- [Windows Azure] Administering your Windows Azure AD tenant
Administering your Windows Azure AD tenant 19 out of 20 rated this helpful - Rate this topic Publish ...
- Android.mk用法整理
[时间:2016-05] [状态:Open] 输出消息 由于Android.mk使用的GNU Make的语法,可以方便的使用.ndk提供了一下三种格式的消息输出: error: debug print ...
- FFmpeg Basic学习笔记(4)
图像处理 常见的图片格式包括YUV.BMP.JPG.GIF.PNG. 图像的创建 可以使用下面命令从输入源中截取图像 ffmpeg -i input -ss t image.type 从videocl ...
- iOS开发:代码通用性以及其规范 第一篇(附带,自定义UITextView\进度条\双表显示\瀑布流 代码设计思路)
在iOS团队开发中,我见过一些人的代码,也修改过他们的代码.有的人的代码写的非常之规范.通用,几乎不用交流,就可以知道如何修改以及在它基础上扩展延生.有的人的代码写的很垃圾,一眼看过去,简直会怀疑自己 ...