问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JDBC的工作原理是什么?

发布网友 发布时间:2022-04-23 11:30

我来回答

5个回答

热心网友 时间:2022-04-07 19:12

JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。
JDBC工作原理主要分3个步骤:1、加载数据库驱动。2、获取数据库连接。3、发送sql语句访问数据库 。
1、加载数据驱动:使用Class.forName方法,调用这个方法会加载数据库驱动com.MySQL.jdbc.driver。
关于数据库驱动的理解,其实是sun公司给了一个Driver的接口,然后各个数据厂商根据自己的数据库
来实现这个接口。当要访问数据库的时候,需要引入这个第三方类库。类的加载主要分为5个部分,
加载、验证、准备、解析、初始化。在初始化的部分用到了DriverManager.registerDriver()方法,将
自己注册给DriverManager的Driver接口。这个地方体现了多态。这个时候就可以使用Driver了。
2、获取数据库连接DriverManager.getConnection()。这个方法主要调用driver的connect()方法
返回一个实现了Connection接口的对象。
3、然后利用Connection对象创建Statement,发送sql语句访问数据库。
延伸:JDBC基础知识

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的*。
1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;
2、不受数据库供应商的*:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的*。
JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:

· 操作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;
· 可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;
· 通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC;
· 面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。
缺点如下:
· 访问数据记录的速度受到一定程度的影响;
· 更改数据源困难:JDBC可支持多种数据库,各种数据库之间的操作必有不同,这就给更改数据源带来了很大的麻烦

热心网友 时间:2022-04-07 20:30

JDBC程序描述为包含如下过程的应用:
1. 引入一个必要的类
2. 加载JDBC驱动程序
3. 标识数据源(URL、Username、Password)
4. 分配一个Connection对象
5. 分配一个Statement对象
6. 使用该Statement对象执行检查 SQL语句
7. 从返回的ResultSet对象中检索数据 类似于迭代器的操作
8. 关闭ResultSet对象
9. 关闭Statement对象
10. 关闭Connection对象

装载驱动程序

通过JDBC来连接关系数据库,应用程序必须采取的第一个合理步骤是加载合适的JDBC驱动程序,并获得一个与该数据库的连接。使用JDBC的DriverManager类可以实现。

DriverManager类实现了java.sql.Driver接口。

加载Driver接口并把它注册给DriverManager类有两种方法:

(1) 使用Class.forName()方法

(2) 标识jdbc.drivers系统属性内的Driver类

建立连接

实现Connection接口的一个类对象(即一个Connection对象)代表一个与某个具体数据源的连接。Connection对象实际上是建立一个上下文环境,以便程序员能在它里面创建并执行SQl命令。

Connection databaseConnection = DriverManager.getConnection(sourceURL);

语句与结果集

Statement接口提供了执行SQL语句和检索结构的一种方法。由于Statement是一个接口,所以程序员不能直接创建一个Statement对象。通常创建这个对象的方法是:

Statement statement = connection.createStatement();

当建成一个Statement对象之后,它提供一个工作空间供用户创建SQL查询,执行该查询,以及检索返回的任何结果。当建成一个Statement对象之后,就可以通过调用该Statement对象的下列执行方法来执行SQL查询

executeQuery()――用于在单个ResultSet对象的数据库中检索出数据的SQL语句。

executeUpdate()――执行不返回ResultSet对象的查询。它的返回值是一个整数(称为更新计数),它给出受到影响的行数。

execute()――执行返回多个结果集,多个更新计数值或这两者组合的语句。

热心网友 时间:2022-04-07 22:05

JDBC的工作原理:
1.这里以连接Mysql数据库为例:
驱动程序为:com.mysql.jdbc.Driver
连接字符串(url)为:jdbc:mysql://localhost:3306/test1.加载连接数据库的驱动程序:
Class.forName("com.mysql.jdbc.Driver");
2.创建与数据源的连接:
String url = "jdbc:mysql://localhost:3306/test";
Connection con = DriverManager.getConnection(url,"user","passwd");
3.查询数据库:创建Statement对象并执行SQL语句以返回一个ResultSet对象
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from DBTableName");
4.获取当前记录集中的某一记录的各个字段的值:
String name = rs.getString("name");
int age = rs.getInt("age");
float wage = rs.getFloat("wage");
5.关闭结果集,关闭查询语句,断开与数据库的连接:
rs.close();
stmt.close();
con.close();

热心网友 时间:2022-04-07 23:56

最权威的请参考Sun公司的官方说明:
http://java.sun.com/procts/jdbc/overview.html

热心网友 时间:2022-04-08 02:04

Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver ");

执行后,ClassLoader加载SQLServerDriver到JVM中,并加载此类的static段
根据JDBC规范,在此static段中必须调用DriverManager.registerDriver注册自己

DriverManager.getConnection时,DriverManager会遍历所有已经注册的Driver
逐个调用其中的Driver.acceptsURL方法

如果此Driver接受此URL,则调用Driver.connect方法返回一个Connection连接

Driver属于什么类型是不能直接从代码上看出来,具体要看Driver的实现方式
JDBC的工作原理是什么?

JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。JDBC工作原理主要分3个步骤:1、加载数据库驱动。2、获取数据库连接。3、发送sql语句访问数据库 。1、加载数据驱动:使用Class.forName方法,调用这个方法会加载数据库驱动com.MySQL.jdbc.driver。关于数据库驱动的理解,其实是sun公司给了一个Driver...

BG试验指什么?如何操作?

BG试验又称为G试验,是一种基于真菌细胞壁成分的血清学试验。BG试验检测的是真菌细胞壁中的葡聚糖成分。操作步骤如下:1. 左键单击【View】2. 左键单击【Residual Diagnostics】3. 左键单击【Series Correlation LM Test】4. 滞后期为2,然后单击【OK】5. n R^2=10.8049,临界概率P=0.0045,因此辅助回归模型是显著的,即存在自相关性。e(t-1),e(t-2)的回归系数均显著地不为0,说明双对数模型存在一阶和二阶自相关。以上是BG试验的操作步骤,需要注意的是,具体操作过程可能会因产品不同而有所不同,建议在操作时仔细阅读产品说明书。真菌(1,3)-β-D-葡聚糖检测用于血浆中(1,3)-β-D-葡聚糖的快速定量检测,用于侵袭性真菌感染的早期辅助诊断,真菌葡聚糖检测 ,请找厦门鲎试剂,近40年专注鲎试剂的生产和研发,详询:0592-2085561厦门鲎试剂生物科技股份有限公司是目前国内历史悠久...

JDBC基本概述、组成及工作原理简介

工作原理JDBC工作流程包括加载驱动、建立连接、创建Statement、执行SQL、处理结果和关闭资源。以查询操作为例,首先加载驱动,然后通过Connection获取Statement,执行SQL并处理ResultSet。实践示例从pom.xml引入驱动,通过代码连接数据库,执行SQL,接收并处理结果,最后关闭连接。面向对象实现面向对象的实现通常包含db...

jsp中用于加载数据库驱动的接口是

三、JDBC 工作原理 1、装载驱动程序 JDBC 中规定,驱动类在被加载时,需要自己“主动”把自己注册到 DriverManger 中。com.mysql.jdbc.Driver 类的源代码如下: 通过以上源码可知我们注册驱动的时候只是 new 了自己,也就是 Driver。既然...jsp学习 jdbc访问数据库_黑猫猫琉璃的博客Connection root = DriverManager.get...

彻底搞懂JDBC的运行过程

JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。JDBC的...

数据库连接池与JDBC的区别

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。2、原理不同:与...

com.mysql.jdbc.driver

com.mysql.jdbc.Driver是MySQL数据库的JDBC驱动程序的一个实现类。它是MySQL官方提供的JDBC驱动的一部分。它是较早版本的驱动名称,在新的版本中,它的名称可能已经变为其他的格式。不过在很多旧文档或教程中仍然可以见到其被提及。3. 功能及工作原理:这个驱动程序的主要功能是为Java应用程序提供连接到...

mybatis+druid+jdbc 原理介绍

jdbc整合了:加载数据库驱动,创建连接,写原生语句,执行,关闭这些东西.而mybatis是对jdbc的封装,他允许你通过配置的形式,配置数据库参数,并且允许你通过xml来写动态sql语句.<if:test>让你可以把sql变得灵活起来.并且还能将你的查询结果直接映射到你想要的实体上面.然后你就去配置你的用户名,密码,连接超时...

springbootjdbc?

从理念是来说是使用hibernate规范对数据访问层的规划,jpa的原理就是封装了各种jdbc的实现,并提供了你方便扩展的接口。 所以springbootjpa没有存在“使用JDBC”这一说,但是如果你仅仅是想表达JPA如何使用sql?你可以关注在Repository中的方法中,利用@Query("……你的sql")来执行sql。 springboot数据库掉线,捕获到的异...

java中,用DAO查询一个数据库步骤,分哪几个步骤,原理解析

1、加载JDBC驱动程序:在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String className)实现。例如:try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ;}catch(ClassNotFoundException e){ System.out.println("...

mybatis原理?

mybatis工作原理是什么? MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOrdinaryJavaObjects,普通的Java对象)映射成数据库中的记录。 每个MyBatis应用程序主要...

电铃的工作原理是什么 电动机的工作原理是什么 工作原理是什么意思 电容的作用和工作原理 同步电动机的工作原理 交流电动机的工作原理 离子色谱仪的工作原理 直流发电机的工作原理 蜂鸣器的工作原理
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机主页面左上角-54代表什么意思 我是医院编制外护士,想贷款买二手房,请问该怎么操作?我的工资卡是农行... 二手房交易刷的卡必须是工资卡吗 大光板木门好看吗 ...流行音乐演唱专辑奖是啥意思和最佳国语男歌手有啥区别 “压力大”英文怎么说?是用“pressure”还是用“stress”? 家人不幸患上结肠癌,现在肚子跟皮球一样,医生又不让吃喝,请好心人能提... 老人不大便多久会死 结肠癌晚期呕吐厉害如何缓解 浊流的拼音? jdbc preparedstatement可以用来进行动态查询吗 简述使用Jdbc实现数据查询的完整步骤 如何剪视频 怎样CUT一部电视剧中的片段?如题 谢谢了 单人cut什么意思 爱剪辑要剪某个综艺的单人cut怎么剪 福州家庭装修谁比较清楚? 油画是什么时候传入中国的 土巴兔装修贷怎么样? 青岛知名的装修公司有哪些? 福州有哪个公司设置外墙干挂石材施工图。。 急需阿~ 长沙装修公司排名前十强有哪些 福州国广一叶怎么样 福州家装 福州永泰县装饰公司排名有没有?我想参考一下。 福州丽居装饰工程有限公司怎么样? 跪求推荐,福州做酒店的装修公司. 福州哪有正在装修的酒店,或者大型的公装正装修的,本人想学室内公装的施工,所以想找工地 热门福州装修设计公司介绍,推荐这4家! 想找家性价比高福州办公室装修公司?请教下大家 JDBC中提供的两种实现数据查询的方法是什么? jdbc原理 JDBC可以动态的获取数据库里的所有的表吗 java中使用JDBC完成数据库操作的基本步骤是什么? Java里面的JDBC是什么意思啊? jdbc preparedstatement可以动态查询么 java 中使用jdbc怎样实现动态的链接多个数据库?? JDBC如何实现跨数据库的查询 jdbc的JTable中实现一个简单的查询功能 JDBC用户特定条件查询怎么实现 jdbc怎么动态的创建一个数据库? 怎样写一个通用的JDBC查询方法 苹果11怎么不能长截图? 手机充电时显示充电显示充电异常找售后咋回事 18. 在制作PPT时,如何设置动作按钮和超链接? ppt链接中的超链接和动作有什么不同? 通过设置动作按钮和插入超链接来改变幻灯片的播放顺序吗? PPT中 动作设置 和 超链接 的区别?是不是作用是一样的? 要求在做的幻灯片中添加超级链接和动作按钮 请问应该怎么做呀???_百度... 动作按钮和超链接的异同