相比于从数据库中直接获取数据库连接,使用数据库连接池的方式可以很大程度的提高数据库连接的效率。因此我们在实际开发中通常会采用数据库连接池的方式获取数据库的连接,在使用完成后这些资源再返还给数据库连接池。下面我们就来看一看常用的数据库连接池的简单的方法。


使用DBCP方式


话不多说,直接上代码。这里仅仅是一个简单的效果呈现,所以只需要打印出一句话即可。

package jdbcpool;import java.sql.Connection;import org.apache.commons.dbcp.BasicDataSource;
/*** 采用dbcp方式获得数据库连接池中的数据连接* @author Summer**/
public class Demo1 {@org.junit.Testpublic void Test() throws Exception {BasicDataSource bds = new BasicDataSource();bds.setDriverClassName("com.mysql.jdbc.Driver");bds.setUrl("jdbc:mysql://localhost:3306/test");bds.setUsername("root");bds.setPassword("mysql");try{Connection conn = bds.getConnection();System.out.println(conn);}catch(Exception e){throw new RuntimeException(e);}}}

采用c3p0方式


package jdbcpool;import java.sql.Connection;import org.junit.Test;import com.mchange.v2.c3p0.ComboPooledDataSource;/*** 采用c3p0方式获得数据库连接池中的数据连接* @author Summer**/
public class Demo2 {@Testpublic void test() throws Exception {ComboPooledDataSource cpds = new ComboPooledDataSource();cpds.setDriverClass("com.mysql.jdbc.Driver");cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");cpds.setUser("root");cpds.setPassword("mysql");Connection conn = cpds.getConnection();System.out.println(conn);}}

两种方式的小总结


这两种方式都是实际开发中使用的数据库连接池开源技术。但是这两者有各自的优点及用途。一般来说在使用Hibernate框架的时候会采用c3p0方式。而使用Spring框架的时候通常会采用dbcp的方式。不能说二者孰优孰劣,我们要在实际的开发中选择合适的即可。

获得数据库连接池中数据连接资源的两种方式相关推荐

  1. 动态连接库的两种方式

    动态连接库的两种方式? 答案:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking),模块非常明确调用某个导出函数,使得他们就像本地函数一样.这需 ...

  2. php mysql 连接方法 对比_Mysql实例php连接MySQL的两种方式对比

    <Mysql实例php连接MySQL的两种方式对比>要点: 本文介绍了Mysql实例php连接MySQL的两种方式对比,希望对您有用.如果有疑问,可以联系我们. MYSQL数据库记录一下P ...

  3. TCP中recv解阻塞的两种方式

    TCP中recv解阻塞的两种方式 1.收到客户端发送的数据 2.客户端关闭了套接字,可以通过判断收到数据的长度来判断客户端是否下线,长度为0代表已下线. send操作 1.在阻塞模式下send操作将会 ...

  4. 数据归一化处理的两种方式

    数据归一化处理的两种方式 import pandas as pd import numpy as np test_data = pd.DataFrame([[1,1,1],[2,2,2],[3,3,3 ...

  5. jsp页面数据加载的两种方式

    JSP数据加载的两种方式 第一种: 三层架构写在controller的页面跳转前面,set到request域中 request.setAttribute("name", list) ...

  6. Java中线程的创建有两种方式

    Java中继承thread类与实现Runnable接口的区别 Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过 ...

  7. 指针数组下标JAVA_Java语言中可用下标和指针两种方式表示数组元素。

    [判断题]一行可以写多条预处理命令 [判断题]如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名一致. [判断题]Protected类型的实例变量只能在本类中使用,其他类中不可 ...

  8. beeline连接hive的两种方式

    前提先要启动hiveserver2,不启动怎么连接呢. hive --service hiveserver2 & 方式1 先登录beeline,进入beeline的命令行环境,然后连接 [ro ...

  9. MySQL数据导入导出的两种方式

    文章目录 前言 一.使用Navicat Premium数据库可视化工具的企业管理器导入导出数据 1.企业管理器导入步骤: 2.企业管理器导出步骤: 二.cmd方式导入导出数据 1.cmd导入步骤: 2 ...

  10. Vue中引入静态资源的几种方式

    最近修改一些老项目,好多组件里面引入图片的方式不太一样,总感觉自己没有好好总结过,今天有时间参考了几篇帖子,就总结一下: 在总结之前看了一下vue-cli的文档,突然感觉之前可能是我忽略它了基本没有看 ...

最新文章

  1. 非计算机专业想学习Python,有哪些问题需要注意?
  2. 【arduino】DIY音乐播放器,arduino播放wav音乐,TRMpcm库测试及使用
  3. c语言设计一个仿真窗口的程序,51单片机C语言实例(350例)Proteus仿真和代码
  4. Wind River颁布车用信息文娱行使Linux平台
  5. 集合转数组的toArray()和toArray(T[] a)方法
  6. 手把手教你用java读写excel表格文件(POI,EasyExcel)
  7. 知了堂学习笔记-CSS样式整理(一)
  8. 报表的查询条件只能在数据上方吗?
  9. 来自一个包工头的创业故事
  10. jedate选中日期后关闭弹层_jeDate 插件修改日期或时间后无法触发change事件。
  11. linux 内存碎片信息查看
  12. Lrc2Srt字幕转换精灵
  13. 英雄联盟服务器维护2019.4.5,lol维护公告最新时间 英雄联盟11.9版本4月29日更新内容...
  14. 智能影视站系统 光线 CMS1.5 正式版
  15. Tomcat配置HTPPS访问
  16. 自旋锁为什么不适用于单处理器系统
  17. IC在測試生產過程的靜電放電(ESD)擊傷及電性過壓(EOS)現象
  18. java.lang.NoSuchMethodError: net.sf.jsqlparser.statement.update.Update.getTable()Lnet/sf/jsqlparser/
  19. 最全SQL数据库语法总结
  20. HDU 2594 - Simpsons’ Hidden Talents(KMP)

热门文章

  1. Atitit. 图像处理jpg图片的压缩 清理垃圾图片 java版本
  2. paip. c++ 调用.net dll 最好方式powershell 使用总结.
  3. paip.提升用户体验---显示密码控件ShowPwdController
  4. SSH: scp 拉取云端文件到本地端
  5. Julia: Array元素过滤、元素替代、元素删除等酸爽操作
  6. 阿里云边缘计算又要放大招了,7月24开发者大会现场揭秘,邀你参加!
  7. 【电力负荷预测】基于matlab EEMD+IWOA+LSSVM电力负荷预测【含Matlab源码 1810期】
  8. 【图像分割】基于matlab贝叶斯算法阙值图像分割【含Matlab源码 1475期】
  9. 【故障诊断分析】基于matlab FFT轴承故障诊断【含Matlab源码 1397期】
  10. 【图像检索】基于matlab GUI综合颜色和形状特征图像检索【含Matlab源码 1370期】