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连接!这样一来就将取得连接对象的那段时间省下来了,这小段时间在一个小程序中可能体现不是很明显,但是在大型的企业级应用中,用到的数据库多用,相应的对象数据的操作也极大,那么使用连接池原理势必可以大大节省程序的运行时间。

java jdbc close原理_JDBC数据库连接池原理相关推荐

  1. 数据库连接池原理以及好处

    本篇内容综合广大网友提供内容,笔者经过整理,对数据库连接池原理和实现过程做个很系统的并且通俗易懂的分析讲解,以及手写一个连接池实现过程作为演示. 一.早期通过JDBC方式操作数据库 我们先来看早期使用 ...

  2. 数据库连接池原理和使用

    数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏 ...

  3. 传统方式连接数据库的弊端和数据库连接池原理

    本次博客带领大家学习传统方式连接数据库的弊端和数据库连接池原理. 传统获取Connection问题分析 传统的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要 ...

  4. Java面试题之:线程池原理

    Java面试题之:线程池原理 一.简介 二.线程复用 三.线程池的组成 四.拒绝策略 五.Java 线程池工作过程 一.简介   线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然 ...

  5. Golang 侧数据库连接池原理和参数调优

    Golang 侧数据库连接池原理和参数调优 文章目录 Golang 侧数据库连接池原理和参数调优 数据库连接池 数据库连接池的设计 Go 的数据库连接池 Go 数据库连接池的设计 建立连接 释放连接 ...

  6. python多线程并发访问数据库连接池原理以及代码

    现状 在工作中难免会使用数据库,为了能够高效并发访问数据库,数据库连接池必不可少,由于本站copy模式盛行,导致数据库连接池被错误使用,遇到错误甚至追求能跑通就行. 本文就python版本的数据库链接 ...

  7. c3p0 服务启动获取连接超时_JDBC数据库连接池

    连接池的本质是构建一个容器,容器是用来存创建好的线程,http连接.数据库连接.netty连接等 各个连接池的使用大致分为三个部分 1.首先是初始化连接池,根据设置相应的参数.连接池的大小.核心连接数 ...

  8. JDBC核心技术六(数据库连接池)

    系列笔记目录 JDBC核心技术一(概述) JDBC核心技术二(获取数据库连接) JDBC核心技术三(PreparedStatement) JDBC核心技术四(Blob字段和批量插入) JDBC核心技术 ...

  9. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

最新文章

  1. ng new ng-pro 报错(创建angular6项目报错)
  2. View 体系详解:View 的工作流程
  3. PI实时数据库管理员须知-5
  4. 决策树——学习笔记(一)
  5. vCloud Automation Center (vCAC) 6.0 (二)
  6. 5、leetcode剑指offer53 二分查找之0~n-1缺失的数字**
  7. 基本Socket通信流程
  8. 计算机视觉各领域前沿算法积累
  9. 将模板方法模式应用到kmeans聚类算法
  10. NIPS 2018 接收论文list 完整清单
  11. Scikit_Learn介绍及演练
  12. Zoox又融5亿美元!这家腾讯投资的无人车公司现在估值32亿美元
  13. 数据格式转换 (三)Office文档转HTML
  14. Power BI连接至Amazon Redshift
  15. Ubuntu18.04 如何用gcc编译objective-c
  16. 高校后勤管理系统java代码_java毕业设计_springboot框架的高校后勤信息管理系统...
  17. AVI、WMV、FLV、MKV、WebM、MOV格式视频怎么打开?它们之间有什么区别?答案在这里
  18. 《快速阅读术》优秀读后感范文4000字
  19. Vcc(电源)和GND(地)之间接电容的作用
  20. 开发管理---项目的范围、时间与成本

热门文章

  1. 手把手教你在阿里云服务器部署一个属于自己的项目(一)新用户领取阿里云服务器
  2. C# 实现图片任意裁剪以及羽化功能
  3. AStyle使用小结
  4. 计算机二级填空题输出,计算机二级编程填空题
  5. word文档批量生成工具(附免费软件)(按Excel表格内容自动替换内容生成文档)
  6. 模型数据处理之删除重复点和重复面
  7. SpringCloud-10-配置控制台彩色打印、自定义banner
  8. 文献管理与信息分析课程分享
  9. 实例二——Fluxion-钓鱼破解WiFi笔记( 2.4GHz网络)
  10. SSM书籍借阅管理系统 计算机毕业设计源码04770