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应用程序主要...