数据源是指数据库应用程序所使用的数据库或者数据库服务器。
属性
1. databaseName String数据库名称,即数据库的SID。
2. dataSourceName String数据源接口实现类的名称。
3. description String 对数据源的描述。
4. networkProtocol String 和服务器通讯使用的网络协议名。
5. password String 用户登录密码。
6. portNumber数据库服务器使用的端口。
7. serverName String数据库服务器名称。
8. user String 用户登录名。
如果数据是水,数据库就是水库,数据源就是连接水库的管道,终端用户看到的数据集是管道里流出来的水。
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
在Java中开源的数据库连接池有以下几种 :
1.C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
2.DBCP
c3p0与dbcp区别
dbcp没有自动回收空闲连接的功能
c3p0有自动回收空闲连接功能
JNDI
JNDI 只是一种资源管理方式
C3P0是数据源连接池的配置方式
这两个不能直接用来比较吧,使用JNDI管理数据库连接池,连接池可以使用C3P0,也可是使用DBCP等方式
使用JNDI 是为了数据库资源的管理,在容器中配置一个数据库连接池,使用JNDI 来管理
这样容器中运行多个服务的时候,每个服务只需添加一个jndi的名称就可以连接到数据库了
如果不使用jndi的方式,直接在项目中配置数据库连接池,那么每个项目需要配置一次,如果更改数据库地址时,每个项目的数据库连接方式都要更改,比较麻烦
使用jndi的话,直接更改一下jndi里面的数据库连接池的配置就可以了,方便一些。