数据库连接池基本使用步骤
常用开源数据库连接池有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时会关闭数据库连接池、释放数据库连接对象占用的资源
数据库连接池基本使用步骤相关推荐
- 基于MysqlConnector/C++的数据库连接池的实现
From: http://blog.csdn.net/educast/article/details/14164097 1.连接池的介绍: 1.1应用背景: 一般的应用程序都会访问到数据库,在程序访问 ...
- 在Python数据库连接池中如何创建请求连接的方案
http://developer.51cto.com/art/201003/189669.htm 在Python数据库连接池中操作过程中如果你设置好了连接池,你就可以按照如下进行操作.通过以下的内容你 ...
- 【数据库连接池】数据库连接池
目录 1.概念:存放数据库连接的容器 2.Spring JDBC : JDBC Template 代码: 1.概念:存放数据库连接的容器 1. 当系统初始化后,容器被创建,容器会申请一些连接对象,当用 ...
- 数据库连接池及Druid使用步骤
目录 一.数据库连接池简介 二.数据库连接池实现 三.Driud使用步骤 一.数据库连接池简介 数据库连接池是一个容器,负责分配,管理数据库连接(Connection),它允许应用程序重复使用一个现有 ...
- JDBC系列(九):JDBC与数据库连接池(Druid-德鲁伊)使用步骤
目录 1.导语(唠唠嗑~~~) 2.使用数据库连接池好处 3.Druid数据库连接池创建与使用步骤 3.1.创建连接池的步骤 3.2使用Druid数据库连接池的步骤 4.关闭资源与归还至连接池的一点说 ...
- Druid数据库连接池超时问题com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10
问题描述: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10at com.alibab ...
- 它是谁?一个比 c3p0 快200倍的数据库连接池!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 什么是数据库连接池 连接池是一种常用的技术,为什么需要连接池呢?这 ...
- Java -- JDBC 学习--数据库连接池
JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开 ...
- JavaWeb基础—数据库连接池DBCP、C3P0
一.基本概念 数据库连接池负责分配.管理和释放数据库连接 数据库连接池:(池用map来实现居多) 用处:为了可重用(销毁创建麻烦,开销大)(招培训老师的例子) 二.编写实现数据库连接池 池参数: 初识 ...
最新文章
- ibatis mysql like_关于ibatis中like用法的补充
- tensorflow.reshap(tensor,shape,name)的使用说明
- lua linux获取文件夹,Linux:删除目录下的文件的10种方法
- spring beans源码解读之--Bean的定义及包装
- linux下c语言抓包库libpcap
- 福建工程学院寒假作业G题
- jquery下载地址:https://code.jquery.com/jquery/ 影响范围: 版本低于1.7的jQuery过滤用户输入数据所使用的正则表达式存在缺陷,可能导致LOCA
- 在NetBeans IDE 6.9.1上搭建Android SDK环境(WIN和Linux平台)
- CXF发布RestFul WebService和SOAP WebService
- 高斯金字塔 matlab,图像拼接中 高斯金字塔的建立 matlab程序详细解释 现金奖励...
- 如何修改注册表的计算机名称,如何修改注册表【图文】
- 上网账号口令怎么获取_怎么从路由器里获取上网帐号和密码
- 解决git文件夹图标消失
- MVC jQuery表单验证
- java 获取某个时间点增加30分钟之后的时间点
- Android实现键盘拨号
- 《Storm实时数据处理》一2.3 创建日志Spout
- 微软认知服务应用秘籍 – 君子动口不动手
- 关于微信小程序--授权弹窗
- html加了文档声明之后页面错乱,PDF转成HTML排版错乱?教你一招完美转换
热门文章
- APP商品详情源数据接口
- 论文阅读笔记:Deep Object Co-segmentation via Spatial-Semantic Network Modulation(AAAI2020)
- 深度学习(PyTorch)——torchvision中的数据集使用方法
- 海信鸿蒙系统下载,鸿蒙系统 - 建议|申诉建议 花粉俱乐部
- css --content的图标编码
- 毕业设计 基于Stm32的蓝牙便携手环 - 物联网 单片机
- html 长空格怎么写
- 每天学一个 Linux 命令(19):rm
- 东莞乾博电子绝缘监测仪特点
- about face3 交互设计精髓 【理解目标导向设计】