数据库连接池

狂风中的少年 提交于 2019-11-26 16:04:49

数据库连接池

数据库连接池就是创建和管理一个连接的缓冲池技术.这些连接提前准备好等待线程使用
负责分配,管理和释放数据库连接,它允许程序重复使用一个现有的数据库连接,而不需要重新建立连接
DBCP : Apache组织下面的一个开源的数据库连接池
1. 导入DBCP连接池依赖的jar
commons-dbcp2-2.4.0
commons-logging-1.2
commons-pool2-2.6.2

mysql-connector-java-5.1.11-bin
2. 配置连接池的文件信息
driverClassName=com.mysql.jdbc.Driver
username=root
password=root
url=jdbc:mysql://localhost:3306/jsp

initialSize=10
maxIdle=50
minIdle=5
maxWait=1000

3. 创建数据库连接池
		Properties pro = new Properties();
		InputStream is = DBCPDemo2.class.getClassLoader().getResourceAsStream("db.properties");
		try {
			pro.load(is);
			BasicDataSource bds = BasicDataSourceFactory.createDataSource(pro);
			
			Connection conn = bds.getConnection();
			conn.close();//不是真正的关闭,将当前连接返回给连接池
			
		} catch (Exception e) {
			e.printStackTrace();
		}

##JNDI
配置Tomcat下面项目共享的全局信息.
Tomcat下面的Contxt.xml文件,添加配置信息

<Environment name="jndi" value="hello WuYu!" type="java.lang.String" />
<Resource
	name="jdbc/jsp"
	type="javax.sql.DataSource"
	maxActive="50"
	maxIdle="10"
	maxWait="3000"
	username="root"
	password="root"
	driverClassName="com.mysql.jdbc.Driver"
	url="jdbc:mysql://localhost:3306/jsp"
	auth="Container"
/>

创建Contxt的实例对象

	Context ctx = new InitialContext();
	DataSource ds= (DataSource)ctx.lookup("java:comp/env/jdbc/jsp");
	out.print(ds.getConnection());
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!