数据库连接池

来源:互联网 发布:宣城太守知不知翻译 编辑:程序博客网 时间:2024/06/16 18:44

一、连接池原理:(面试)

这里写图片描述

目的:解决建立数据库连接耗费资源和时间很多的问题,提高性能。

二、编写标准的数据源

自定义数据库连接池要实现javax.sql.DataSource接口,一般都叫数据源。

这里写图片描述

三、编写数据源时遇到的问题及解决办法

这里写图片描述

a、装饰设计模式:使用频率很高

目的:

改写已存在的类的某个方法或某些方法,装饰设计模式(包装模式)

口诀:

1、编写一个类,实现与被包装类相同的接口。(具备相同的行为)
2、定义一个被包装类类型的变量。
3、定义构造方法,把被包装类的对象注入,给被包装类变量赋值。
4、对于不需要改写的方法,调用原有的方法。
5、对于需要改写的方法,写自己的代码。

这里写图片描述

b、默认适配器:装饰设计模式一个变体

这里写图片描述

这里写图片描述

三、常用的数据源配置(日后都使用数据源,一定要配置一下)

3.1、DBCP

DBCP:Apache推出的Database Connection Pool

使用步骤:

添加jar包 commons-dbcp-1.4.jar commons-pool-1.5.6.jar
添加属性资源文件
编写数据源工具类
这里写图片描述

3.2、C3P0

使用步骤:

1、添加jar包
2、编写配置文件
c3p0-config.xml,放在classpath中,或classes目录中
这里写图片描述
3、编写工具类:
这里写图片描述

五、用JavaWeb服务器管理数据源:Tomcat

开发JavaWeb应用,必须使用一个JavaWeb服务器,JavaWeb服务器都内置数据源。

Tomcat:(DBCP)

数据源只需要配置服务器即可。

配置数据源的步骤:

1、拷贝数据库连接的jar到tomcatlib目录下
2、配置数据源XML文件
a)如果把配置信息写在tomcat下的conf目录的context.xml中,那么所有应用都能使用此数据源。
b)如果是在当前应用的META-INF中创建context.xml, 编写数据源,那么只有当前应用可以使用。
这里写图片描述
3、使用连接池
这里写图片描述

JNDI:java nameing directory interface
JNDI容器就是一个Map

key(String)—>value(Object)
path+name —>对象
path+”jdbc/day16”—>DataSource对象

0 0
原创粉丝点击