常用开源数据库连接池有dbcp、c3p0、druid

数据库连接池是一个专门用于在应用运行期间,缓存和管理数据库连接对象的内存区域。降低了数据库连接对象的频繁创建和销毁带来的时间和资源开销,从而提高应用程序的性能。

通过数据库连接池完成业务操作的基本流程如下:

0.准备工作:下载开源数据库连接池的jar文件,自己下载或者通过maven都可以

1.建立数据库连接池

  • 硬编码方式:将数据库连接参数、配置参数都写到程序代码中
  • 配置文件方式:将数据库连接参数和配置参数,都写到外部配置文件中,程序通过读取配置文件信息初始化数据库连接池,常见配置文件类型有.properties、.xml、.yml

2.从刚刚建立的数据库连接池中,获取到一个数据库连接对象

3.使用刚刚获取到的非空数据库连接对象,完成增删改查等

  • 通过数据库连接对象获取statement对象,一般是preparedStatement,防止SQL注入
  • 通过statement传入SQL语句、设置SQL条件
  • 执行statement,返回执行结果,增删改的返回受影响的行数,查询的返回结果集
  • 如果是查询语句,将结果集与POJO进行ORM映射,将结果集的一条记录封装为一个POJO对象。查询单条记录的通过if块进行映射,查询多条记录的通过while循环遍历结果集进行映射

4.关闭资源,回收数据库连接对象到数据库连接池中

5.应用程序terminate时会关闭数据库连接池、释放数据库连接对象占用的资源

数据库连接池基本使用步骤相关推荐

  1. 基于MysqlConnector/C++的数据库连接池的实现

    From: http://blog.csdn.net/educast/article/details/14164097 1.连接池的介绍: 1.1应用背景: 一般的应用程序都会访问到数据库,在程序访问 ...

  2. 在Python数据库连接池中如何创建请求连接的方案

    http://developer.51cto.com/art/201003/189669.htm 在Python数据库连接池中操作过程中如果你设置好了连接池,你就可以按照如下进行操作.通过以下的内容你 ...

  3. 【数据库连接池】数据库连接池

    目录 1.概念:存放数据库连接的容器 2.Spring JDBC : JDBC Template 代码: 1.概念:存放数据库连接的容器 1. 当系统初始化后,容器被创建,容器会申请一些连接对象,当用 ...

  4. 数据库连接池及Druid使用步骤

    目录 一.数据库连接池简介 二.数据库连接池实现 三.Driud使用步骤 一.数据库连接池简介 数据库连接池是一个容器,负责分配,管理数据库连接(Connection),它允许应用程序重复使用一个现有 ...

  5. JDBC系列(九):JDBC与数据库连接池(Druid-德鲁伊)使用步骤

    目录 1.导语(唠唠嗑~~~) 2.使用数据库连接池好处 3.Druid数据库连接池创建与使用步骤 3.1.创建连接池的步骤 3.2使用Druid数据库连接池的步骤 4.关闭资源与归还至连接池的一点说 ...

  6. Druid数据库连接池超时问题com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10

    问题描述: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10at com.alibab ...

  7. 它是谁?一个比 c3p0 快200倍的数据库连接池!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 什么是数据库连接池 连接池是一种常用的技术,为什么需要连接池呢?这 ...

  8. Java -- JDBC 学习--数据库连接池

    JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开 ...

  9. JavaWeb基础—数据库连接池DBCP、C3P0

    一.基本概念 数据库连接池负责分配.管理和释放数据库连接 数据库连接池:(池用map来实现居多) 用处:为了可重用(销毁创建麻烦,开销大)(招培训老师的例子) 二.编写实现数据库连接池 池参数: 初识 ...

最新文章

  1. ibatis mysql like_关于ibatis中like用法的补充
  2. tensorflow.reshap(tensor,shape,name)的使用说明
  3. lua linux获取文件夹,Linux:删除目录下的文件的10种方法
  4. spring beans源码解读之--Bean的定义及包装
  5. linux下c语言抓包库libpcap
  6. 福建工程学院寒假作业G题
  7. jquery下载地址:https://code.jquery.com/jquery/ 影响范围: 版本低于1.7的jQuery过滤用户输入数据所使用的正则表达式存在缺陷,可能导致LOCA
  8. 在NetBeans IDE 6.9.1上搭建Android SDK环境(WIN和Linux平台)
  9. CXF发布RestFul WebService和SOAP WebService
  10. 高斯金字塔 matlab,图像拼接中 高斯金字塔的建立 matlab程序详细解释 现金奖励...
  11. 如何修改注册表的计算机名称,如何修改注册表【图文】
  12. 上网账号口令怎么获取_怎么从路由器里获取上网帐号和密码
  13. 解决git文件夹图标消失
  14. MVC jQuery表单验证
  15. java 获取某个时间点增加30分钟之后的时间点
  16. Android实现键盘拨号
  17. 《Storm实时数据处理》一2.3 创建日志Spout
  18. 微软认知服务应用秘籍 – 君子动口不动手
  19. 关于微信小程序--授权弹窗
  20. html加了文档声明之后页面错乱,PDF转成HTML排版错乱?教你一招完美转换

热门文章

  1. APP商品详情源数据接口
  2. 论文阅读笔记:Deep Object Co-segmentation via Spatial-Semantic Network Modulation(AAAI2020)
  3. 深度学习(PyTorch)——torchvision中的数据集使用方法
  4. 海信鸿蒙系统下载,鸿蒙系统 - 建议|申诉建议 花粉俱乐部
  5. css --content的图标编码
  6. 毕业设计 基于Stm32的蓝牙便携手环 - 物联网 单片机
  7. html 长空格怎么写
  8. 每天学一个 Linux 命令(19):rm
  9. 东莞乾博电子绝缘监测仪特点
  10. about face3 交互设计精髓 【理解目标导向设计】