JDBC数据库连接池原理
JDBC是java数据库连接的简称。它是一种用于实行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成。其相关的API都在java.sql.*包下。该包中提供的不是一些具体的类,它提供的是数据库操作定义的接口。定义为接口,是为了满足不同的数据库的要求。
从它的名字(数据库连接)就可以知道它的用途——与数据库建立连接、发送。另外,JDBC还可以操作数据库的语言(sql语句)并处理结果。那么它是怎么样实现与数据库的连接的呢?要实现与数据库的连接就必然要有个数据库的连接对象,在java.sql.*包中提供了一个Connection的接口。Connection对象,是由java.sql.DriverManager类(驱动类)的静态方法getConnection(...)得到,只要得到了这个Connection对象,就与数据库建立了连接。
与数据库建立连接后,就可以实现JDBC的对数据库的语言进行操作的功能,通过这个连接对象,得到sql语句的执行对象,这个对象可以是Statement对象,也可以是PreparedStatement对象,一般使用的是PreparedStatement对象,通过PreparedStatement对象就可以完成对数据库语言的操作,完成一次操作后,与数据库建立的连接也就拆除了,这种操作原理叫线程池原理。这样,每对数据库操作一次,即每执行一条sql语句,就重新得到一个连接对象,然后在进行其他的操作。
假如现在需要执行大量的sql语句,那么就要重复的使用驱动类调用方法来得到连接对象,这样需要花费很长的时间。这时就需要使用数据库连接池原理来处理,所谓数据连接池原理就是当得到连接对象,并执行了sql语句后,通过连接对象调用close()方法将连接对象放回池中,而不是关闭底层JDBC的Tcp/ip连接!这样一来就将取得连接对象的那段时间省下来了,这小段时间在一个小程序中可能体现不是很明显,但是在大型的企业级应用中,用到的数据库多用,相应的对象数据的操作也极大,那么使用连接池原理势必可以大大节省程序的运行时间。
JDBC数据库连接池原理的更多相关文章
- JDBC 数据库连接池
http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结 当对数据库的访问不是很频繁时,可以在每次 ...
- Java数据库连接池原理与简易实现
1.什么是数据库连接池 我们现在在开发中一定都会用到数据库,为了提高我们的系统的访问速度,数据库优化是一个有效的途径.我们现在开发中使用数据库一般都要经历以下的四个步骤:(1)加载数据库的驱动类,(2 ...
- JAVA和C#中数据库连接池原理与应用
JAVA和C#中数据库连接池原理 在现在的互联网发展中,高并发成为了主流,而最关键的部分就是对数据库操作和访问,在现在的互联网发展中,ORM框架曾出不穷, 比如:.Net-Core的EFCore.Sq ...
- Java自学-JDBC 数据库连接池
数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...
- JDBC | 第七章: JDBC数据库连接池使用
概述 数据库连接池是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个.那么其中的运行机制又是怎样的呢?今天主要介绍一下数据库连接池原理和常用的连接池. ...
- JAVA之JDBC数据库连接池总结篇
JDBC数据库连接池 一.JDBC数据库连接池的必要性 二.数据库连接池技术 三.多种开源的数据库连接池 3.1 C3P0数据库连接池 3.2 DBCP数据库连接池 3.3 Druid(德鲁伊)数据库 ...
- JAVA基础知识之JDBC——JDBC数据库连接池
JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...
- 【Java123】JDBC数据库连接池建立
需求场景:多SQL任务多线程并行执行 解决方案:建立JDBC数据库连接池,将线程与连接一对一绑定 https://www.cnblogs.com/panxuejun/p/5920845.html ht ...
- JDBC数据库连接池
用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库 ...
随机推荐
- Creating an API-Centric Web Application[转]
Creating an API-Centric Web Application 转自 http://hub.tutsplus.com/tutorials/creating-an-api-centric ...
- delphi 基础之一 数据类型和基本语法
1. 数据类型 特定类型 日期和时间 Delphi 也用实型数表示日期和时间数据.但为了更准确起见,Delphi 特别定义了TDateTime 数据类型,这是一个浮点类型,因为这个类型必须足够宽,使变 ...
- 小课堂Week12 Clean Code Part1
小课堂Week12 Clean Code Part1 今天的主题是函数,让我们看一个函数,找一找其中的"不整洁". 我们也根据这段代码,讨论下对于整洁代码的两个重要原则. publ ...
- 安装wampserver出现“The Program can't start because MSVCR110.dll is missing from your computer. Try reinstalling the program to fix this problem”
问题描述: 今天安装wampserver的时候出现"The Program can't start because MSVCR110.dll is missing from your com ...
- LinqToSql中使用事务(2)
原文地址:http://www.cnblogs.com/blusehuang/archive/2007/07/16/819677.html
- 《大话设计模式》ruby版代码:简单工厂模式
之前有看过<ruby设计模式>,不过渐渐的都忘记了.现在买了一个大话设计模式,看起来不是那么枯燥,顺便将代码用ruby实现了一下. # -*- encoding: utf-8 -*- #运 ...
- openSUSE13.1安装搜狗输入法 for Linux
一句话总结:爽死我了!什么叫输入的快感终于体会到了,搜狗输入法,码农的好伙伴!!! 转自openSUSE论坛 女王陛下 https://forum.suse.org.cn/viewtopic.php? ...
- [原创]PostgreSQL Plus Advince Server在 HA环境中一对多的Stream Replication配置(四)
八.HA环境下配置多节点的sshVIP(s1):[root@s1 ~]# mkdir /opt/PostgresPlus/9.2AS/.ssh[root@s1 ~]# chown enterprise ...
- Windows下使用Visual Studio Code搭建Go语言环境
1.安装GO语言 下载地址: https://golang.org/dl/ Windows下直接运行安装GO语言即可. 安装成功. 安装完毕GO语言后,需要添加GOPATH环 ...
- NSKeyValueObserving(KVO)
NSKeyValueObserving非正式协议定义了一种机制,它允许对象去监听其它对象的某个属性的修改. 我们可以监听一个对象的属性,包括简单属性,一对一的关系,和一对多的关系.一对多关系的监听者会 ...