数据是当前IT行业的新燃料,数据处理应用程序利用这些数据来提取必要的信息。但是,真正的问题是,我们如何在数据存储单元和数据处理应用程序之间建立连接?
什么是Java JDBC?
JDBC是术语Java数据库连接的缩写。JDBC是一种软件工具,也称为应用程序编程接口,用于在标准数据库和打算使用该数据库的Java应用程序之间建立连接。
现在我们了解了JDBC的定义,让我们了解为什么需要它以及在哪里需要它。
Java JDBC的必要性
JDBC用于多个应用程序连接到各种类型的标准和高级数据存储单元。出于以下目的,我们需要使用JDBC。
用于与应用程序API建立稳定的数据库连接。
执行SQL(结构化查询语言)查询和DDL/DML命令。
用于查看和修改数据存储单元中的数据记录。
因此,这些就是我们需要JDBC连接的地方和目的。我们将学习SQL中支持的数据类型以及它们与Java over JDBC的兼容性。
Java JDBC数据类型
Java的数据类型和数据存储单元(这里是SQL)将有所不同。因此,我们需要一个翻译。JDBC驱动程序负责将数据类型从Java传递到SQL,以消除歧义。
一些最常用的数据类型的示例以表的形式组织,如下所示。
在了解了Java JDBC中的数据类型之后,我们将继续学习Java JDBC的体系结构。
Java JDBC体系结构
Java JDBC体系结构由以下主要部分组成。它们是:
JDBC Application
JDBC API
JDBC Manager
JDBC Drivers
Data Storage Units
JDBC Application
JDBC应用程序位于JDBC体系结构的最顶层。JDBC应用程序是打算从不同的数据存储单元访问数据的数据处理应用程序。
JDBC API
JDBC API在JDBC体系结构中扮演着重要角色。JDBC API确保在数据存储单元和JDBC应用程序之间建立稳定的连接。
JDBC Manager
JDBC管理器负责选择适当的驱动程序管理器,以确保选择的驱动程序软件支持数据存储单元的要求,以提供不间断的连接。
JDBC Drivers
JDBC驱动程序是JDBC体系结构中的关键单元。JDBC驱动程序是JDBC体系结构中与数据存储单元直接接触的第一层。
Data Storage Units
数据存储单元是JDBC的基础。数据存储单元是JDBC应用程序可以访问所有数据的地方。
现在我们对JDBC体系结构中的组件有了技术上的理解。让我们进一步了解如何实时设置JDBC环境。
Java JDBC环境安装
环境设置JDBC涉及以下两个主要要求:
在第一阶段,您需要在本地系统中安装一个支持MySQL的IDE。MySQL WorkBench可能更好,因为它提供了许多功能,使编写查询看起来像孩子的游戏。
您可以从以下位置下载MySQL工作台 地址.
一旦安装文件被下载,下一步就是运行它。
按下一步,然后检查您的文件位置。默认情况下,安装将在C盘中完成。我们建议您走同样的路线。
再次按Next,然后选择Complete选项以安装所有功能。理想情况下,它不会占用您太多时间。
对您的安装位置进行最后检查,然后继续进行安装。
安装将启动,如下所示。
最终安装将如下所示,如下所示。
按下Finish,安装步骤就完成了。默认情况下,您的工作台将自动启动。
启动MySQL WorkBench后,IDE将如下所示。
在这里,您可以使用DDL和DML命令创建数据库。稍后,您可以创建表并向其中插入数据。一旦您的表准备好数据,您就可以跳到下一个阶段。
第二个阶段是将Java安装到本地系统中。您可以阅读Simplilearn撰写的这篇名为“如何在Windows中安装Java”的文章。本文将介绍在Windows操作系统中安装Java的分步方法。
我们已经在本地系统中完成了实时JDBC环境的设置。现在,让我们继续执行一个实时示例所要遵循的步骤。
连接Java JDBC的步骤
要建立JDBC连接和处理数据,需要遵循八个关键步骤。这些步骤如下:
导入-包依赖项
加载并注册驱动程序
连接到数据库
框架查询
执行查询
处理结果
关闭声明
关闭连接
导入-包依赖项
每当我们在eclipse中运行一个额外的API包时,我们需要确保应用程序具有依赖类的支持。类似地,当我们使用JDBC API时,我们需要导入SQL包以确保程序可以随时使用这些类。
import java.sql*;
加载并注册驱动程序
在下一阶段,我们需要让程序了解导入了特定的包,并完成包注册过程,使其能够与JDBC应用程序和数据库进行通信。
driverManager.registerDriver();
(or)
class.forName();
连接到数据库
在这里,在这个阶段,我们有了包,加载和注册过程也完成了。现在,数据库已准备好连接。我们使用驱动程序管理器中的连接方法来建立与数据库的连接。
getConnecttion();
框架查询
一旦应用程序和数据库准备好执行必要的操作,我们就需要编写SQL查询并将其提交给JDBC API以运行它并获得结果。
执行查询
执行查询类似于实现JDBC API。我们可以使用ecuteQuery()命令来运行编写的SQL查询。
处理结果
在执行查询之后,JDBC系统负责下一步,即处理输出并检索必要的结果。
关闭声明
该语句一旦发出,就需要显式终止。
result.close();
关闭连接
最后一个阶段是终止连接。可以使用以下命令终止连接。
close();
现在,我们对这些步骤有了一个理论上的理解。让我们进入练习模式并执行下一节中给出的程序。
Java JDBC示例
以下示例基于JDBC API。在这里,我们将创建一个University数据库,并且在University数据库中,我们将创建一个名为‘Engineering’的表,该表将存储学生详细信息。
然后,我们将设计一个JDBC应用程序并建立与数据库的连接。接下来,我们将传递通过JDBC应用程序执行的查询。
//Create Database Command
create database University;
//Use Database Command
use University;
//Create Table Command
create table EngineeringStudents(
Student_ID INT NOT NULL,
Department VARCHAR(25),
First_Name VARCHAR(25),
Last_Name VARCHAR(25),
PassOutYear INT NOT NULL,
UniversityRank INT NOT NULL,
PRIMARY KEY ( Student_ID )
);
//Insert Data Commands
INSERT INTO EngineeringStudents VALUES (10201, 'CSE', 'Kiran', 'Acharya',2018,1272);
INSERT INTO EngineeringStudents VALUES (10202, 'ISE', 'Chaitanya', 'Pujar',2019,773);
INSERT INTO EngineeringStudents VALUES (10203, 'Mech', 'Trever', 'Kruger',2020,1275);
INSERT INTO EngineeringStudents VALUES (10204, 'ECE', 'John', 'Denver',2021,539);
INSERT INTO EngineeringStudents VALUES (10205, 'Electrical', 'Raju', 'Kumar',2018,098);
INSERT INTO EngineeringStudents VALUES (10206, 'CSE', 'Jennifer', 'Charles',2018,1372);
INSERT INTO EngineeringStudents VALUES (10207, 'CSE', 'Chaitanya', 'Pujar',2019,1773);
INSERT INTO EngineeringStudents VALUES (10208, 'Mech', 'Tom', 'Steven',2020,1223);
INSERT INTO EngineeringStudents VALUES (10209, 'ECE', 'John', 'Conner',2021,1539);
INSERT INTO EngineeringStudents VALUES (10210, 'ISE', 'Raju', 'Chaturvedi',2018,1098);
INSERT INTO EngineeringStudents VALUES (10211, 'CSE', 'Kiran', 'Banerji',2018,1332);
INSERT INTO EngineeringStudents VALUES (10212, 'ISE', 'Sowmya', 'Kumari',2019,721);
INSERT INTO EngineeringStudents VALUES (10213, 'ISE', 'Jayson', 'Robert',2020,2275);
INSERT INTO EngineeringStudents VALUES (10214, 'ECE', 'Praveen', 'Kumar',2021,1249);
INSERT INTO EngineeringStudents VALUES (10215, 'CSE', 'Rajath', 'Kumar',2018,2218);
//Queries:
select * from EngineeringStudents;
select Student_ID, Department, First_Name, Last_Name, PassOutYear, UniversityRank from EngineeringStudents where Student_ID = 10202;
select Student_ID, Department, First_Name, Last_Name, PassOutYear, UniversityRank from EngineeringStudents where First_Name = 'Sowmya';
select Student_ID, Department, First_Name, Last_Name, PassOutYear, UniversityRank from EngineeringStudents where PassOutYear = 2018;
select Student_ID, Department, First_Name, Last_Name, PassOutYear, UniversityRank from EngineeringStudents where PassOutYear = 2018 and Department = 'CSE';
select * from EngineeringStudents ORDER BY UniversityRank;
select Student_ID, Department, First_Name, Last_Name, PassOutYear, MIN(UniversityRank) AS Highest from EngineeringStudents;
这就是我们实时执行JDBC程序的方式。
至此,我们已经结束了这篇“Java JDBC”文章。我们希望您喜欢理解Java中的多态的基本概念。