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数据库连接池原理的更多相关文章

  1. JDBC 数据库连接池

    http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html JDBC 数据库连接池 小结   当对数据库的访问不是很频繁时,可以在每次 ...

  2. Java数据库连接池原理与简易实现

    1.什么是数据库连接池 我们现在在开发中一定都会用到数据库,为了提高我们的系统的访问速度,数据库优化是一个有效的途径.我们现在开发中使用数据库一般都要经历以下的四个步骤:(1)加载数据库的驱动类,(2 ...

  3. JAVA和C#中数据库连接池原理与应用

    JAVA和C#中数据库连接池原理 在现在的互联网发展中,高并发成为了主流,而最关键的部分就是对数据库操作和访问,在现在的互联网发展中,ORM框架曾出不穷, 比如:.Net-Core的EFCore.Sq ...

  4. Java自学-JDBC 数据库连接池

    数据库连接池 与线程池类似的,数据库也有一个数据库连接池. 不过他们的实现思路是不一样的. 本章节讲解了自定义数据库连接池类:ConnectionPool,虽然不是很完善和健壮,但是足以帮助大家理解C ...

  5. JDBC | 第七章: JDBC数据库连接池使用

    概述 数据库连接池是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个.那么其中的运行机制又是怎样的呢?今天主要介绍一下数据库连接池原理和常用的连接池. ...

  6. JAVA之JDBC数据库连接池总结篇

    JDBC数据库连接池 一.JDBC数据库连接池的必要性 二.数据库连接池技术 三.多种开源的数据库连接池 3.1 C3P0数据库连接池 3.2 DBCP数据库连接池 3.3 Druid(德鲁伊)数据库 ...

  7. JAVA基础知识之JDBC——JDBC数据库连接池

    JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...

  8. 【Java123】JDBC数据库连接池建立

    需求场景:多SQL任务多线程并行执行 解决方案:建立JDBC数据库连接池,将线程与连接一对一绑定 https://www.cnblogs.com/panxuejun/p/5920845.html ht ...

  9. JDBC数据库连接池

    用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大的浪费数据库的资源,并且极易造成数据库 ...

随机推荐

  1. [leetcode]_Search Insert Position

    题目:查找元素target插入一个数组中的位置. 代码: public int searchInsert(int[] A, int target) { int len = A.length; int ...

  2. html5面向对象做一个贪吃蛇小游戏

    canvas加面向对象方式的贪吃蛇 2016-08-25 这个小游戏可以增加对面向对象的理解,可以加强js逻辑能力,总之认真自己敲一两遍收获还是不少啊!!适合刚学canvas的同学练习!! 废话不多说 ...

  3. postgresql 分区表

    1.普通方式建立主表 create table tbl_partition( id integer, name ), gender boolean, join_date date, dept ) ) ...

  4. highcharts与highstock实例

    highcharts实例代码 <head> <title>highcharts报表示例</title> <meta http-equiv="Cont ...

  5. HDFS文件读写流程

    一.HDFS HDFS全称是Hadoop Distributed System.HDFS是为以流的方式存取大文件而设计的.适用于几百MB,GB以及TB,并写一次读多次的场合.而对于低延时数据访问.大量 ...

  6. Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换

    [1]a=[8,13,11,6,26,19,24]1)请输出列表a中的奇数项2)请输出列表a中的奇数 解:1) a=[8,13,11,6,26,19,24] print a[::2] Result:& ...

  7. 11.python中的元组

    在学习什么是元组之前,我们先来看看如何创建一个元组对象: a = ('abc',123) b = tuple(('def',456)) print a print b

  8. Mybatis typeAliases别名

    <typeAliases> <typeAlias type="com.green.phonemanage.model.CellPhone" alias=" ...

  9. 最大似然估计(MLE)和最大后验概率(MAP)

    最大似然估计: 最大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”.简单而言,假设我们要统计全国人口的身高,首先假设这个身高服从服从正态分布,但是该分布的均值与方差未知 ...

  10. Android--PullToRefreshListView 的简单使用

    原文:  http://blog.csdn.net/lmj623565791/article/details/38238749; pull-to-refresh对ListView进行了封装,叫做:Pu ...