c3p0以及阿里的德鲁伊,绝对就叫它巫妖王

日期:2020-06-22 21:52:54   来源:互联网   编辑:小优   阅读人数:274

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图1)

这几天的学习,什么Jdbc六步骤,Jdbc的封装、sql注入与预编译,自定义连接池。

本质上一直在做一件事情,封装工具类JdbcUtil,并一步一步将其优化。

其实不需要我们自己封装,有现成的框架可以直接用,但学习阶段,自己将其过一遍也是很有必要的。

并且学的是这种封装思想。

昨天自己尝试着用动态代理写了一个连接池,当然市面上也有几个开源连接池:c3p0以及阿里的德鲁伊。

既然是开源,那么经过多版本的迭代,功能肯定更加地强大,使用起来也更加地方便。

一、c3p0连接池

看c3p0官网:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图2)

个人习惯喜欢将浏览器设置成将网页英文翻译成中文,其实最好的还是要自己学着看英文文档。

只能说这还需要一个比较长的时间去适应。

②文档说明

也就相当于工具说明书,不然别不知道怎么使用c3p0,那么具体如何使用?

1直接编写代码

完全就是看说明书,写的很明白了:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图3)

①导包

将说明中的这两个jar包导入工具IDEA即可。

②创建数据源

文档中有编写的代码模板,我们只需要复制过来修改其中的参数就可以了,这些参数都很熟悉。

也就是数据库四大金刚:

mysql驱动路径

数据库url路径

用户名

密码

好,代码编写完毕。但是这种是代码直接编写。

前几天学过配置文件,将这几个常用参数放入配置文件里面,这样代码也能更具有可拓展性。

2使用配置文件

既然我们都能想到配置文件,那文档中自然也会有它的说明,继续看文档:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图4)

①配置方法

其中有四种配置方式,最常见的是使用xml来配置。

②xml文件的设置

其中文件名要以“c3p0-config.xml”的命名规则,不然没法运行,并且要放在IDEA的src路径里面。

至于其配置文件如何编写,一样还是继续套用模板,我们只需要修改其中的属性,网上一搜也会一大堆:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图5)

①数据库连接参数

也就是数据库四大金刚,设置成自己的,不再赘述。

②连接池参数

这个在具体的项目中设置不同的参数,其实理解起来也都是见名知意的,直接用软件翻译:

initialPoolSize:初始化连接池大小

maxIdleTime:最大空闲时间

maxPoolSize:连接池最大容量

minPoolSize:连接池最小容量

maxStatements:最大语句对象

3做一个

最后代码编写完了,做一个,同时也再回顾一遍连接数据库的代码:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图6)

①配置c3p0连接池

如果有xml配置文件,那么配置信息不用再逐个设置了。

②从连接池中获取连接

直接从c3p0连接池中获取连接。

③预编译及处理结果

这块代码也写了好多遍了,不再赘述。

④释放资源

close方法本来的意思是将连接销毁掉,但事实上c3p0中close方法是将连接返回到连接池中而不是销毁。

也就是说和昨天自定义的连接池一样,也将连接的close方法改造了。

我尝试着看了下c3p0中的源码,但实在是看不懂…

据说在c3p0中使用的是装饰设计模式,我们昨天使用的是动态代理实现该需求。

具体为何要用装饰设计模式而不是动态代理也不清楚。

二、Druid

在全球最大的同性交友网站中可以找到Druid:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图7)

中文译名:德鲁伊。这是阿里巴巴开源的一个数据库连接池。

Druid是目前最好的数据库连接池。在功能、性能、扩展性方面,都超过其他数据库连接池。

想想一年一度的双十一,春运的抢火车票也就能理解了。

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图8)

①创建德鲁伊对象

我们可以发现其API还是那些属性设置,当然这是最基础的4个,还有一些比如连接池大小什么的。

②配置文件druid.properties

同样的道理,可以将这些属性放到一个配置文件里面,从而提高代码的拓展性。c3p0中使用的是xml,德鲁伊中使用properties。

配置文件完成,那如何使用它呢?

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图9)

①工厂设计模式

DruidDataSourceFactory,德鲁伊数据源工厂,既然是工厂那通过它就可以直接创建数据源。

其中参数即为所编写的配置文件。

其余步骤也就是连接数据库的常规操作了。

②从连接池中获取连接

③预编译及处理结果

④释放资源

同样的道理,德鲁伊中也改造了连接的close方法。

三、工具类的封装优化

今天学了连接池,那么也可以把连接池封装进工具类JdbcUtil中,比如说我们使用德鲁伊连接池:

c3p0以及阿里的德鲁伊,绝对就叫它巫妖王(图10)

①将德鲁伊封装进JdbcUtil类中

通过工厂设计模式获取数据源

②获取连接封装

通过德鲁伊数据源获取连接

③释放资源

其中连接的close方法被改造了,并不是释放连接而是将连接放回连接池。

优化好JdbcUtil类后,再直接用JdbcUtil类获取连接,实际上就是德鲁伊连接池的连接。

学习吐槽

巫妖王明明比德鲁伊霸气的多好伐

老实说内心还是很震惊的

还以为现在很少有人知道魔兽的呢

毕竟接触到的人没一个玩这个的

emm主要是能接触到的也就那么几个人

我以后若是厉害了自己弄个框架

绝对就叫它巫妖王

当然目前这也只是想想…

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

本文相关词条概念解析:

连接池

连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。

德鲁伊

Dryad一词原自druids,即德鲁伊。Dryad在罗马、希腊神话中意指森林女神,传说每一棵橡树都居住着精灵,而这些树精通过dryads向人类传达神谕,因此呢后世的文学着作中Dryad通常以树精的形象出现。德鲁伊常在现代的文学、影视、动画、和游戏里出现,比如暴雪的著名游戏《魔兽世界》、《暗黑破坏神》等均有他的身影。

网友评论
相关阅读
沈梦辰,腿又长又白的女星,佟丽娅,谁的大长腿是最美的一目了然,杨幂,那么问题来了

沈梦辰,腿又长又白的女星,佟丽娅,谁的大长腿是最美的一目了然,杨幂,那么问题来了

靠选美出道的沈梦辰,漂亮的外表以及开朗的性格,从进入到观众的

TVB女星高手如云,几乎天天别墅靠海

TVB女星高手如云,几乎天天别墅靠海

吴京曾说女孩子尽量不要进入演艺圈,此言不虚。娱乐圈竞争压力太

在她最近晒出来的视频中,所以大家都误以为沙发上坐了个男人

在她最近晒出来的视频中,所以大家都误以为沙发上坐了个男人

李小璐是大家众所周知的一位女明星,曾经万紫千红的她在经过了“

Baby黄晓明一家竟然合体营业了,但这也算是小海绵第一次露出正脸照啊,看清长相,懵了

Baby黄晓明一家竟然合体营业了,但这也算是小海绵第一次露出正脸照啊,看清长相,懵了

虽然之前也有很多人都会说Baby和黄晓明已经离婚了,但是两人

但特朗普在任的这4年,这样的美国你爱吗,恰恰相反

但特朗普在任的这4年,这样的美国你爱吗,恰恰相反

曾经的美国车水马龙,交错纵横的街道中人山人海,可这都是过去的

苦相脸是天生的,不过傅菁一旦管理好表情

苦相脸是天生的,不过傅菁一旦管理好表情

蓝盈莹在《甄嬛传》中就有很明显的嘴角下垂问题,尤其是在静态的

绝对有做女团的潜质,港媒,33岁的朱晨丽则是第三位被推介的女星

绝对有做女团的潜质,港媒,33岁的朱晨丽则是第三位被推介的女星

芒果TV的明星女团选秀节目《乘风破浪的姐姐》不仅是内地的热门

齐达内的期望,纳瓦斯离开皇马,表现不逊色于25年之前

齐达内的期望,纳瓦斯离开皇马,表现不逊色于25年之前

“库尔图瓦,冲刺萨莫拉奖”6月21日的《阿斯报》分析了皇马门

那么李小冉的魅力到底有多大呢,一颦一笑都太撩人了,简直就是男人的心头肉啊

那么李小冉的魅力到底有多大呢,一颦一笑都太撩人了,简直就是男人的心头肉啊

相信看过《庆余年》的观众一定不会忘记剧中的长公主,虽然镜头并

曾是好莱坞大片女主,杨幂和苏有朋都还仅仅是绿叶角色,人气尽显低迷

曾是好莱坞大片女主,杨幂和苏有朋都还仅仅是绿叶角色,人气尽显低迷

想必很多小伙伴对于施予斐这个名字会感到有点陌生,但其却因天生