JDBC概念
每个数据库产商有自己的数据库驱动程序(数据库厂商自己写的代码),提供和数据库的交互。
数据库驱动程序ó此数据库的交互接口
现状描述:
1. 不同的数据库,接口(数据库驱动程序)不一样。不同的驱动接口,就像是不同的OS有不同接口,JVM屏蔽了底层的差异。
2. 必须有开发人员或"客户"需要和数据库驱动程序来交互 ,
问题:
1. 不同的驱动程序,开发人员需要重复开发等等。
解决:
JDBC设有2中接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。
(驱动程序:JDBC驱动程序A和数据库厂商提供的驱动程序B)
Ps:A是和B交互的,B是和数据库交互的
JDBC面向驱动程序层开发的人员,即对JDBC 应用层开发接口的实现,则不同的JDBC驱动有了相同的应用层接口,但底层驱动实现不同(因为需要调用不同数据库产商的驱动,所以一定是不同的实现的)
但是:Sun提供了一个驱动管理器(DriverManager),数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。
ó sun 提供了统一的 DriverManager 类,数据库厂商的驱动需要满足驱动管理器的要求ó sun 对数据库厂商的驱动进行了一定程度的规范
问题:
JDBC涉及到网络的连接,事务的执行。
开销:每次连接都是JDBC驱动和数据库驱动的交互,以及网络的建立。
事务的执行:事务即一系列的操作,(关系型数据库)具有ACID特性
二、JDBC连接数据库的流程及其原理
1、在开发环境中加载指定数据库的驱动程序
2、在Java程序中加载驱动程序。
在Java程序中,可以通过 “Class.forName(“指定数据库的驱动程序”)” 方式来加载添加到开发环境中的驱动程序,例如加载MySQL为: Class.forName(“com.mysql.jdbc.Driver”)
3、创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。
DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC Connection 对象。
如:Connection connection = DriverManager.geiConnection(“连接数据库的URL", "用户名", "密码”)。其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
ó DriverManager 检查加载的JDBC驱动是否符合规范。
ó根据数据库的URL、用户名和密码,连接数据库。Connection是TCP的连接,每次建立连接都需要数据库的URL、用户名和密码,这些信息相当于HTTP的参数,供数据库驱动程序解析。
4、创建Statement对象:Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament = connection.createStatement(); 具体示例创建Statement对象代码如下: Statement statamentMySQL =connectMySQL.createStatement();
ó此时已经建立了Connection,TCP连接,Statement相当于是HTTP中的AJAX,只不过不是异步的。这里发送SQL参数等等,以及接受结果。
5、调用Statement对象的相关方法执行相对应的 SQL 语句
6、关闭数据库连接:
相关推荐
JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一种标准接口。它由一组Java类和接口组成,允许...理解并熟练掌握JDBC的基本概念和使用方法,是成为一名合格的Java数据库开发者的基础。
(4)理解JDBC中实现事务处理的基本方法; (5)理解数据库连接池的基本原理和思想,学会在tomcat服务器中配置数据库连接池,并掌握从连接池中获取连接的基本方法。 (6)初步理解数据访问层的基本设计方法,理解web...
本文将深入探讨基于命令行的JDBC基本操作,包括如何配置数据源如Druid和C3P0,以及如何利用Apache Commons DBUtils简化数据库操作。 首先,JDBC提供了统一的接口,使得开发者无需关心底层数据库的具体实现,即可...
在这一章,考生需要掌握关系数据的基本概念,如关系模型,实体(Entity)、属性(Attribute)和关系(Relationship)等。实体-关系图(ERD)表示方法是设计和理解数据库结构的关键,考生需要熟练掌握其绘制和解析。...
通过本实验,我掌握了JDBC的概念与使用场景,理解了JDBC的工作原理,掌握了使用JDBC操作数据库的基本步骤,掌握了JDBC中几个常用接口和类,了解了带数据库操作的应用程序开发步骤。 一、JDBC概念与使用场景 JDBC...
### 全面解析JDBC:Java数据库连接标准 ...无论是对于初学者还是经验丰富的开发人员来说,掌握JDBC的基本概念和使用方法都是非常重要的。随着技术的发展,JDBC也在不断地演进和完善,以适应更多的应用场景和技术需求。
### JDBC学习手册精要 #### 一、JDBC概述 JDBC(Java DataBase Connectivity),即Java数据库连接,是由Sun ...通过理解这些概念和API,开发者可以更好地使用JDBC进行数据库操作,提高应用程序的性能和安全性。
在本文中,我们将详细解释JDBC(Java Database Connectivity)的核心代码,涵盖了JDBC的基本概念、步骤、语句和实践操作。 JDBC概述 JDBC是Java语言中用于连接数据库的API(Application Programming Interface),...
规范文档还包含了更多技术性的描述,关于JDBC驱动、连接数据库、执行SQL语句、事务管理、元数据处理和资源管理等核心概念和技术的详细说明。 在学习JDBC的过程中,了解其规范是至关重要的。它不仅提供了接口的定义...
### JDBC基本步骤 1. **加载驱动**:`Class.forName()`方法加载JDBC驱动。 2. **建立连接**:`DriverManager.getConnection()`创建到数据库的连接。 3. **创建Statement或PreparedStatement**:根据需求选择创建哪...
理解JDBC的工作原理、API以及如何编写基本的应用程序是Java开发人员必备的技能之一。通过上述介绍,我们可以看到JDBC不仅支持简单的数据库操作,还提供了高级特性如预编译的Statement,以满足更复杂的应用需求。
这个"spring_JDBC基本包"可能包含的文件有Spring框架的基础库,如spring-jdbc.jar,数据库驱动如mysql-connector-java.jar,以及其他可能需要的依赖,如commons-dbcp或HikariCP这样的连接池库。确保所有必要的库都...
首先,教程会介绍JDBC的基本概念,包括驱动程序类型、JDBC URL结构、以及如何加载和注册JDBC驱动。开发者将学习如何使用`Class.forName()`方法加载驱动,`DriverManager.getConnection()`方法创建数据库连接,这些是...
- JDBC API简介:了解JDBC的基本概念,如DriverManager、Connection、Statement和ResultSet等。 - 数据库连接:如何加载数据库驱动,建立数据库连接。 - SQL语句执行:使用Statement对象执行SQL查询、插入、更新...
第二章"SQL 101"是SQL基础的介绍,包括关系模型、基本的SQL语句、模式和目录的概念、键的使用、外键以及数据定义语言(DDL)和数据操纵语言(DML)的使用。这一章旨在帮助读者理解SQL语言,为后续的JDBC实践打下坚实...
### JDBC与ODBC的基本概念 #### JDBC(Java Database Connectivity) JDBC是Java语言中用于连接数据库的标准API,由Sun Microsystems(后被Oracle收购)提出。它的目标是为Java程序员提供一种统一的方式,使得Java...
一、JDBC基本概念 1. JDBC驱动:JDBC驱动是Java程序与数据库之间的桥梁,分为四种类型,从低到高分别为Type 1、Type 2、Type 3和Type 4。Type 4驱动(如MySQL Connector/J)是纯Java实现,无需依赖数据库厂商的特定...
### JDBC基本教程精讲 #### 一、JDBC概述与技术背景 JDBC,全称为Java Database Connectivity,是Java平台中用于与关系型数据库进行交互的一套标准接口。这一技术由Sun Microsystems(现已被Oracle收购)开发,并...
学习Jdbcsupport,除了理解其基本概念和用法,还应该熟悉Spring的IoC和AOP机制,以及JdbcTemplate提供的各种方法和使用场景。此外,了解如何与Spring的事务管理结合使用,能够更好地利用Jdbcsupport进行高效、可靠的...