=============================
数据库连接池
=
=
扩容
=
=
=
我们不知道Connection接口的具体实现是谁,就不能去继承并重写,因为我们直接重写Connection那是实现接口而已,我们是要它的实现
类的功能,所以需要知道它的实现类是谁,
我们还是返回conn对象,但是关闭的时候,会调用上面我们用装饰者模式重写的close方法
上面是自写连接池的雏形,为了使用连接池的时候方便理解
连接池
DBCP 由Apache开发,tomcat就是他们开发的
导入dbcp的jar包,dbcp的jar有2个,还有一个是pool.jar
但是在这之前,其实还需要连接数据库
如果是使用配置文件
而我们的获取配置文件,也要改变写法
c3p0连接数据库
如果是用配置文件,c3p0的配置文件是xml,这个xml名字是固定的
不能更改
这个从文档里复制过来,然后xml的那个property name根据方法名来写
比如setUser,那么name就是user
这是上面是default config
如果想换数据库,比如oracle,那么继续在文档里复制下面的xml代码
这里的名字改一下,而其余的配置需要改的和上面一样,
然后在创建类的时候指定名称即可,我们会发现这个name-config和
default config的那么参数都一样,很明显就是为了切换数据库用的
这个类的内部自动会加载配置文件,用类加载器创建,所以需要在src
里面去创建,这样会自动创建一个同名文件到bin目录里,所以名称不能变,必须要固定