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();
可以很清楚的看出,从以上代码完全看不出操作的是哪个数据库,配置都在配置文件中;
转载于:https://www.cnblogs.com/Coda/p/4231625.html
Tomcat数据源总结相关推荐
- 07.十分钟学会tomcat数据源
一.数据源的作用及操作原理 1, 首先先看下传统JDBC的操作 在tomcat中使用数据库连接池操作数据库 2,JNDI属于命名及目录查找接口,在javaee的javax.naming包中 这套AP ...
- Java中的Tomcat数据源JNDI示例
Welcome to Tomcat DataSource JNDI Example Tutorial. We looked at the JDBC DataSource in the last tut ...
- mysql wait_timeout 8小时问题解决,tomcat数据源的配置
异常报错: 2017-02-13 09:30:17.597 [startQuertz_Worker-6] ERROR com.autoyol.task.TransStatManageTask#exec ...
- Java使用Tomcat数据源的方式
1. 在tomcat中配置数据源,配置路径是:E:\UCMSServer\tomcat\conf\server.xml,在如下位置添加: 数据源配置: <Resource name=" ...
- java tomcat 数据源配置_Java编程:配置tomcat5数据源心得
在Admin控制台下host里面新建一个context,然后在下面配置datasource,由于是在页面环境下配置,所以一切都显得很简单. 然后就是在jsp里面测试看datasource配置是否成功. ...
- [tomcat] 配置数据源介绍
从tomcat5.5开始,内置了DBCP数据源的实现.tomcat数据源提供两种配置方式,两种数据源的访问范围不同, 1.全局数据源:顾名思义在tomcat应用下的所有web都可以访问. 2.局部数据 ...
- jndi weblogic mysql_Tomcat配置JNDI数据源连接池
[Tomcat数据源连接池加密] Tomcat 5.0.28 Jndi配置: 1)部署你的应用到Tomcat,并且确保能正常访问. 2)进放admin控制台,如果你无法进入控制台,请参考常用的一些Ja ...
- 配置tomcat8数据源(采用局部数据源方式)
tomcat提供两种数据源配置方式,全局和局部.全局的话对于所有web应用都生效,局部只对于配置的某一个web生效. 步骤: 1.将mysql的jdbc驱动复制到tomcat的lib路径下. 2.在t ...
- 深入理解Spring Boot数据源与连接池原理
Create by yster@foxmail.com 2018-8-2 一:开始 在使用Spring Boot数据源之前,我们一般会导入相关依赖.其中数据源核心依赖就是spring‐boot‐s ...
最新文章
- 自定义listView添加滑动删除功能
- Proteus与Keil联调
- 结合html和css制作页面的布局结构,CSS Div网页布局中的结构与表现
- 几个标准的说明,关于EMC的
- python从random生成列表_详解Python利用random生成一个列表内的随机数
- 阿里云的工程师要被祭天了?
- 利用锁机制解决商品表和库存表并发问题
- (C++)虚函数表解析(转)
- Android不透明度16进制值
- 计算机注册表管理,注册表命令,教您电脑怎么打开注册表编辑器
- gtx1050ti最稳定的驱动_GTX1050ti显卡驱动
- 软件编程推荐书籍 大全
- python怎么循环合并数组_python数组循环合并python执行系统命令四种方法比较
- win7显示隐藏文件夹的方法
- java游戏和flash游戏区别,小游戏的基本种类
- Linux下安装jq
- 关于分销体系是怎么理解的?
- openwrt web升级功能介绍
- npm安装包报错,清除一下缓存
- [LnOI2019]长脖子鹿省选模拟赛 东京夏日相会
热门文章
- 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
- 权限管理系统中 管理员能看到所有用户的密码么_计算机毕设项目002之学生成绩管理系统...
- ksql 数量大于2_别人1加1大于2大于3,雍禾植发1加1小于2……
- gpu的单位表示_GPU编程1--GPU中的基本概念
- 阿里云 OAM 入选「2020中国技术力量年度榜单」,定义云原生应用交付标准
- redis取出list最边的一个_这几个Redis使用技巧,让你的程序快如闪电
- 树控件单击获取到的节点信息不是当前选中的节点_常用基本控件测试用例(一)...
- 实验一基于 的词法分析实验_[源码和文档分享]基于JAVA实现的基于DFA的词法分析程序...
- 全局样式_CAD新手福利:不懂标注样式修改的请进来一看
- excel两个表格数据对比_Excel表格怎么防止看错数据?阅读模式了解一下