好快呀,我来黑马都快三个月了,不知不觉我都来这么久了,时间过得真快,还记得我当时选的Java这个专业,有时难,有时也不是很难,主要还是看自己的看法,比如:自定义连接池,见名知义即一个装连接的池子。首先需要一个容器,可以用集合或是数组,分析其功能,连接是需要反复的用到,即不断地在容器中进行存和取的操作,综合时间和资源的考虑,采用链表结构的linkedList集合。它的底层采用的是链表结构,对元素的增删速度快。对于连接,在我们执行完操作后需要对其释放资源,在此之前我们一直直接调用的是connection的close方法,假使我们继续如此做释放资源,会出现拿到连接用完后就不将连接返回连接池,所谓有借有还,再借不难,我们得对其进行改进,需要将其close方法的功能变为一种返还连接的功能,假如对其子类对象添加recycle方法也能做到一样效果,但会稍微不符合我们的释放资源习惯。
于是我们用到了装饰者模式对其进行功能增强,其原理是利用connetion的两个子类对象a,b分别实现connection接口,a以构造方法的形式传入b中,即b中的普通方法还是通过其成员变量a来调用,需要增强的close方法则对其进行改进使其具有回收功能。较为关键的一步也是需要理解的地方则是池子里的连接需要我们传入增强的connection子类对象。
Jdbc模版则是增删改查的步骤有很多的重复,尽管在上面我们已经优化了注册驱动和连接池以及释放资源。这个模板则又将一些重复的步骤进行了再一次的封装,如建立连接,获取执行平台、执行sql语句和释放资源。想要得到的结果是我们只需要输入想要执行的sql语句和模版调用对应的方法即可达到我们想要的效果。模版的方法简单的分为增删改以及查询,区别是有无结果集。
|