先写个大概内容,有时间了再写具体的
一、什么是连接池
数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库
操作的性能。
二、如何实现
1.实现javax.sql.DataSource接口
该接口中定义了两个重载的getConnection方法。但是DataSource接口内没有close()方法,
解决方法:
a、使用装饰设计模式:
目的:改写已存在的类的某个方法或某些方法,装饰设计模式(包装模式)
口诀:
1、编写一个类,实现与被包装类相同的接口。(具备相同的行为)
2、定义一个被包装类类型的变量。
3、定义构造方法,把被包装类的对象注入,给被包装类变量赋值。
4、对于不需要改写的方法,调用原有的方法。
5、对于需要改写的方法,写自己的代码。
b、默认适配器模式:
口诀:
1、编写一个类A,实现与被包装类相同的接口。(具备相同的行为)
2、定义一个被包装类类型的变量。
3、定义构造方法,把被包装类的对象注入,给被包装类变量赋值。
4、再写一个类B继承类A
5、对于不需要改写的方法,调用原有的方法。
6、对于需要改写的方法,写自己的代码。
2、使用数据源配置
a、DBCP
b、C3P0
3、用JavaWeb服务器管理数据源:Tomcat
数据源只需要配置服务器即可。
配置数据源的步骤:
1、拷贝数据库连接的jar到tomcatlib目录下
2、配置数据源XML文件
a)如果把配置信息写在tomcat下的conf目录的context.xml中,那么所有应用都能使用此数据源。
b)如果是在当前应用的META-INF中创建context.xml, 编写数据源,那么只有当前应用可以使用。
3、使用连接池
4、什么是JNDI
JNDI:java nameing directory interface
JNDI容器就是一个Map
key(String)
value(Object)
path+name
对象
path+"jdbc/day16"
DataSource对象