连接池

博客介绍了连接池的池参数,包括初始大小、最小空闲连接数等,强调连接池需实现javax.sql.DataSource接口。还阐述了装饰者模式用于对象增强。重点讲解了c3p0连接池的配置文件要求,以及QueryRunner的update、query方法,ResultSetHandler接口的多种实现,最后提及BaseServlet的使用。
池参数:
  • 初始大小:
  • 最小空闲连接数:
  • 增量:
  • 最大空闲连接数:
  • 最大连接数:
  • 最大的等待时间:

四大连接参数
连接池也是使用四大连接参数来完成创建连接对象!

实现的接口:
连接池必须实现:javax.sql.DataSource接口!

连接池返回的Connection对象,它的close()方法与众不同,调用它的close方法

装饰者模式: 不知道被增强对象的具体类型时,可以使用!

对象增强的手段:

  • 继承
    被增强的对象固定的
    增强的内容也是固定的
  • 装饰者模式
    被增强的对象时可以切换的
    增强的内容是固定的
  • 动态代理
    被增强的对象可以切换
    增强的内容也可以切换
c3p0连接池
(先导包)c3p0配置文件:

要求:

  • 文件名必须叫c3p0-config.xml
  • 文件位置:必须在src下
tomcat配置JNDI资源:
JNDI(java Naming and Directory Interface) java命名和接口
配置的与项目的同名xml文件应该放在:tomcat\conf\Catalina\localhost
common-dbutils.jar
QueryRunner

update方法:

  • int update(String sql, Object… params)–>可执行增、删、改语句
    query方法:
  • int update(Connection con, String sql , Object… params)–>需要调用者提供Connection,这说明笨方法不再管理Connection了。

query方法:

  • T query(String sql, ResultSetHandler rsh , Object … params)–> 可执行查询
    它会先得到ResultSet, 然后调用rsh的handle() 把rs转换成需要的类型!

  • T query(Connection con , String sql , ResultSetHandler rsh , Object…params),支持事务。

ResultSetHandler接口:
  • BeanHandler(单行) -->构造器需要一个Class类型的参数,用来把一行结果转换成指定类型的javaBean对象
  • BeanListHandler(多行)–>构造器也是需要一个Class类型的参数,用来把一行结果集转换成一个javaBean,那么多行就是转换成List对象,一堆javabean
  • MapHandler(单行)–> 把一行结果集扎转换Map对象

一行记录:

sidsnameagegender
101zs43male

一个Map:
{sid:101 ,sname:zs , age 99 ,gender:male}

  • MapListHandler(多行)–>把一行记录转换成一个Map,多行就是多个Map,即List
  • ScalarHandler(单行单列)–>通常select count(*) from t_stu 语句!结果集是单行单列的,它返回一个Object。
BaseServlet:
  1. 我们希望一个Servlet中可以有多个请求处理方法
  2. 客户端发送请求时,必须多给出一个参数,用来说明要调用的方法请求处理方法的签名必须与service相同,即返回值和参数,以及声明的异常都相同!
domain:User
dao:UserDao
service:UserService
servlet:UserServlet

void init(ServletConfig config)
void destory()
void servlet(ServletRequest,ServletResponse)
		throws IOException,ServletException{
		在这里让他去调用其他方法!
		要求:用户发出请求时,必须给出一个参数,来说明要调用哪一个方法
		//获取参数,通过参数名称来确定要调用的方法
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值