数据库连接池
数据库连接池就是创建和管理一个连接的缓冲池技术.这些连接提前准备好等待线程使用
负责分配,管理和释放数据库连接,它允许程序重复使用一个现有的数据库连接,而不需要重新建立连接
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());