当前位置:Gxlcms > 数据库问题 > 数据库连接池

数据库连接池

时间:2021-07-01 10:21:17 帮助过:2人阅读

,创建连接池使用BasicDataSource核心类, BasicDataSource basicDataSource= new BasicDataSource(); 2,连接池中创建连接 basicDataSource.setDriverClassName(""); basicDataSource.setUrl(""); basicDataSource.setUserNmae(""); basicDataSource.setPassword(""); 3,从连接池中获取连接 Connection conn=basicDataSource.getConnection();

 


从这里可以看出开源数据库连接池的使用并没有简化代码,但是在内部实现时优化了性能。
继续增加扩展性可以将参数写入配置文件并编写utils工具类。
参数配置文件读取方式

Properties properties=new Properties();
properties.load(new FileInputStream(this.getClass().getResource("url").getFile()));
DataSource basicDataSource=BasicDataSourceFactory.createDataSource(properties);

 

c3p0 数据库连接池的使用此处不深入学习
Tomact内部提供的数据库连接池
tomact内部连接池就是dbcp
Tomcat并不支持所有的JavaEE规范,要使用内置的dbcp需要通过JNDI技术

<Context> 
<Resource name="jdbc/datasource" auth="Container" 
type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" 
url="jdbc:mysql://localhost:3306/jdbc"
maxActive="8" maxIdle="4"/> 
</Context>

 


1,在tomcat安装目录/conf/context.xml中进行配置对tomcat内部所有虚拟主机中任何工程都有效
2,在tomcat安装目录/comfig/Catalina/虚拟主机目录/context.xml配置对当前虚拟主机任何工程都有效
3, 在web工程根目录/meta-inf/context.xml配置只对当前工程有效。
用JNDI访问连接池原理
1,将一个java 对象,绑定在JNDI容器中,为java对象起一个名字
2,java程序通过名字检索到该对象并调用。
访问具体过程
1,配置context文件
2,tomcat启动时自动加载配置文件,根据配置文件创建连接池
3,为连接池对象绑定名称
4,通过名称检索访问被绑定对象
核心APIContext,javax.naming.Context接口。
注意事项
1,tomcat连接数据库,而非自己工程连接数据库,所以需要将驱动jar包复制在tomcat/lib目录下
2,Java程序通过JNDI访问对象----该java程序必须运行在同一个JDNI容器中,所以该java程序通常是Servle或者Jsp等运行在tomcat内部的程序。

//创建检索对象
Context initCtx=new InitialContext();
//默认查找顶级java名称串,固定为"java:comp/env"
Context envCtx=(Context)initCtx.lookup("java:comp/env");
//根据名称设置查找连接池对象
DataSource ds=(DataSource)envCtx.lookup("jdbc/TestDB");
//或得连接池中的一个连接
Connection conn=ds.getConnection();

 

数据库连接池

标签:

人气教程排行