博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据源和数据库连接池
阅读量:6907 次
发布时间:2019-06-27

本文共 1143 字,大约阅读时间需要 3 分钟。

  Java中的数据源就是javax.sql.DataSource。DataSource的创建可以有不同的实现。DataSource 通常被称为数据源,它包含连接池和连接池管理两个部分,习惯上也经常把 DataSource 称为连接池。

 

  JNDI方式创建DataSource:  (Java Naming and Directory Interface,Java命名和目录接口)。首先要配置数据源的相关连接信息,也就是数据源连接池。该配置应该在Tomcat安装目录下的conf/context.xml文件中配置。

  

 

连接池基本的思想,原理:

  在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。

数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。

连接池通俗理解:  

  数据库连接池就是准备一个池子,里面放着很多生成好的Connection,用户请求获得连接,就不需要getConnection,只要从池子里拿一个给他就行了,这样省掉了生成Connection的时间,效率上会有很大提高,不过当然会占用一些内存~稍微大点网站都会用到数据库连接池的~

 

数据库连接池技术的优点: 

资源重用

更快的系统反应速度

新的资源分配手段

统一的连接管理,避免数据库连接泄露

 

开源的数据库连接池 C3P0 DBCP Proxool XAPool 等

  以C3p0获得数据源为例:

@Test  public void testC3P0() throws Exception{        ComboPooledDataSource cpds = new ComboPooledDataSource();        cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver                    cpds.setJdbcUrl( "jdbc:mysql:///atguigu" );        cpds.setUser("root");                                          cpds.setPassword("1230");                   System.out.println(cpds.getConnection());     }

  

 

转载于:https://www.cnblogs.com/shuaishuai1993/p/4979528.html

你可能感兴趣的文章
低级错误在用hibernate框架的时候创建表不成功()
查看>>
Stack OverFlow 栈溢出 - stack smashing detected
查看>>
惠普3PAR: 与众不同的数据保护
查看>>
centos6.7源码安装mysql5.6
查看>>
自己动手搭建Eclipse+python IDE开发环境
查看>>
ext之家
查看>>
记一次OOM排查解决
查看>>
vSphere虚拟化学习之旅1--安装ESXi
查看>>
210支持nfs方式挂载文件系统的内核配置
查看>>
Setup MariaDB High Availability with Heartbeat
查看>>
Libvirt编译安装
查看>>
实现搜索功能
查看>>
百度自动推送js
查看>>
点滴积累【C#】---C#实现上传word以流形式保存到数据库和读取数据库中的word文件。...
查看>>
怎么用几何画板创建滑行反射变换
查看>>
在ABBYY中如何修正倾斜的PDF页面
查看>>
不可错过的几款GitHub开源项目
查看>>
c#压缩和解压缩类
查看>>
Aprori算法[关联规则算法]
查看>>
DNS:域名系统
查看>>