搜索
首页Javajava教程如何用Java连接数据库?

使用任何编程语言编写 IT 应用程序时,进出应用程序的数据流都提供核心功能。如果数据流受到某种影响,可能会对应用程序功能产生不利影响,并可能给业务带来重大损失。如今,可以使用不同的方法将程序连接到数据库,以向用户提供他们请求的信息、从用户收集信息、根据用户的要求删除信息以及每天将数据更新到数据库。我们将研究一种这样的方法,使用 Java 作为我们的编程语言,使用 JDBC 作为数据库连接方法,并遵循面向对象的方法。

开始您的免费数据科学课程

Hadoop、数据科学、统计及其他

什么是 JDBC?

JDBC 代表 Java 数据库连接,它帮助 Java 程序对数据库执行不同类型的操作,例如创建、读取、更新和删除。另外,JDBC 是一种 Java API。

通过使用 JDBC,程序员应该能够:

  • 与数据库建立连接
  • 通过将 SQL 命令发送到数据库来运行 SQL 命令
  • 解释来自数据库的结果

创建数据库以用Java连接数据库

在使用 JDBC 之前,需要有一个数据库来连接它。为了便于说明,我们将使用 Oracle 数据库。请从以下链接下载 Oracle 11g Express 版本。

点击这里

我已经准备好了 Oracle 10g 安装程序,如下所示:

如何用Java连接数据库?

来源:来自我的桌面

  • 请双击安装程序;将弹出以下屏幕。点击下一步。

如何用Java连接数据库?

来源:来自我的桌面

  • 请接受许可协议并单击下一步。

如何用Java连接数据库?

来源:来自我的桌面

  • 请保持默认设置不变,然后单击下一步。

如何用Java连接数据库?

来源:来自我的桌面

  • 它会要求您输入登录 Oracle 11g 实例时需要的密码。请提供密码并点击下一步。

如何用Java连接数据库?

来源:来自我的桌面

  • 提供密码后,安装过程将开始。安装完成后,桌面屏幕上将创建一个快捷方式图标。如果找不到,请进入Windows开始并搜索Oracle;你应该得到它。单击它可通过浏览器为您打开瘦客户端。登录实例。请注意,Oracle DB(即系统)的用户名将相同。密码将是您在配置数据库时提供的密码。

如何用Java连接数据库?

来源:来自我的桌面

  • 现在,一旦您登录,您将看到的第一个屏幕将如下所示:

如何用Java连接数据库?

来源:来自我的桌面

  • 现在让我们创建一个表。请从上面的屏幕中单击 SQL 模块并运行以下查询。

如何用Java连接数据库?

来源:来自我的桌面

  • 如您所见,我们已经成功创建了一个名为 Educba 的表。

用 Java 连接数据库

一些接口和类用于连接到数据库并使用 JDBC API 执行操作。

我们会一一解释,但先给大家介绍一下下面的程序:

如何用Java连接数据库?

如何用Java连接数据库?

如何用Java连接数据库?

来源:来自我的桌面

以下是我们将用于连接到数据库并对其执行操作的接口:

  1. 司机经理
  2. 连接
  3. 声明
  4. 结果集
  5. 准备好的声明

让我们看看我们可以作为 JDBC 操作的一部分执行的操作。

  1. 将数据从实体存储到数据库,即它们创建一个操作。
  2. 从数据库中检索数据到实体或 bean
  3. 更新数据库中实体或bean的数据
  4. 从数据库中删除或移除实体或 Bean 上的数据。

无论我们执行什么操作,一些基本步骤都会保持不变:

  1. 加载驱动程序。
class.forName("oracle.jdbc.driver.OracleDriver");
  1. 创建 URL 字符串
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
  1. 使用驱动程序管理器创建连接
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
  1. 使用连接引用创建语句
stmt = conn.createStatement();
  1. 使用语句执行查询

如何用Java连接数据库?

6.处理结果集(可选,取决于)

7.释放最后一个区块中的资源。

如何用Java连接数据库?

插图

当我们在插图中使用 Oracle 数据库时,我们需要拥有 Oracle 应该提供的所需驱动程序。驱动程序类通常采用 jar 文件的形式,名称为 ojdbc14.jar。如果该驱动程序不存在,则应将其作为“参考库”的一部分导入到您的 Java 程序中。

如果你已经在C文件夹中安装了Oracle 11g,最好可以在以下路径中找到它:(如果没有,可以从这里轻松下载)

C: oraclexe 应用程序 oracle 产品 10.2.0 服务器 jdbc lib

如何用Java连接数据库?

来源:来自我的桌面

应该有很多 jar 文件可用;但是,ojdbc14.jar 是最新的。同样可以用于我们的目的。该 jar 应该添加到项目的类路径中。请检查下面的图片。

如何用Java连接数据库?

来源:来自我的桌面

让我们创建一个具有以下属性的艺术家表: 您可以作为 Oracle Express Edition 的单独模块直接运行 SQL 命令行。但首先你需要连接,你可以执行“connect”命令来连接数据库。

如何用Java连接数据库?

来源:来自我的桌面

作为本例的一部分,我们将创建三个 Java 类,即 Artist.java、CreateTable.java 和 ArtistManagementDao.java 来实现此目的。

另外,我们必须在Java层创建一个名为Artist Bean的类。这个类应该具有具有上述上下文的 Artist 的属性。它将如下所示:

Artist.java

如何用Java连接数据库?

让我们创建另外两个 Java 类,名称分别为 ArtistManagementDao 和 CreateTable.java。

ArtistManagementDao.java

package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao {
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
{
try {
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?,?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
}
}

说明:

  1. Dao 类帮助我们将应用程序/业务层与持久层隔离。这通常是关系数据库。
  2. 我们使用您的计算机名称和数据库端口号(最好是 1521 )创建了一个数据库 URL,前面带有 JDBC:oracle:thin:@。然后,我们创建了用户名和密码以在数据库连接期间传递这些属性。强烈建议在生产环境中对这些值进行加密。
  3. 在 addArtist 方法中,我们尝试按照之前学习的步骤使用 conn 语句来建立连接。
  4. 我们使用插入方法将属性中的值推送到数据库。
  5. 在下一个语句中,为了测试,我们使用 get 语句从数据库中检索值。
  6. 我们还尝试使用 catch 块来捕获任何异常并抛出相同的异常。

CreateTable.java

package com;
import java.sql.*;
public class CreateTable{
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}

说明:

  1. 我们已使用您的计算机名称和数据库端口号(最好是 1521)创建了一个数据库 URL,前面带有 JDBC:oracle:thin:@。然后,我们创建了用户名和密码以在数据库连接期间传递这些属性。强烈建议在生产环境中对这些值进行加密。
  2. 在CreateTable.java类中,我们分别创建了ArtistManagementDao.java和Artist.java类的对象“am”和“a”。
  3. 然后我们尝试按照我们之前学到的步骤使用 conn 语句来建立连接。
  4. 然后我们创建了一个名为 Artist3 的表并更新了数据库或使用执行语句将其推送到数据库。
  5. 如果我们想给属性赋值,我们将使用我们为艺术家类创建的对象,并注意该类不会将值插入数据库;这将是 ArtistmanagementDao 类。我们已经在属性中存储了值,并将在当天的课程中看到如何将其推送到数据库。
  6. 最后,我们使用ArtistManagementDao 中的“am”对象将该对象“a”传递给ArtistManagementDao java 类的addArtist() 方法。
  7. 我们还尝试使用 catch 块来捕获任何异常并抛出相同的异常。

以上是如何用Java连接数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Java仍然是基于新功能的好语言吗?Java仍然是基于新功能的好语言吗?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

是什么使Java很棒?关键特征和好处是什么使Java很棒?关键特征和好处May 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

前5个Java功能:示例和解释前5个Java功能:示例和解释May 12, 2025 am 12:09 AM

Java的五大特色是多态性、Lambda表达式、StreamsAPI、泛型和异常处理。1.多态性让不同类的对象可以作为共同基类的对象使用。2.Lambda表达式使代码更简洁,特别适合处理集合和流。3.StreamsAPI高效处理大数据集,支持声明式操作。4.泛型提供类型安全和重用性,编译时捕获类型错误。5.异常处理帮助优雅处理错误,编写可靠软件。

Java的最高功能如何影响性能和可伸缩性?Java的最高功能如何影响性能和可伸缩性?May 12, 2025 am 12:08 AM

java'stopfeatureSnificallyEnhanceItsperFormanCeanDscalability.1)对象 - 方向 - incipleslike-polymormormormormormormormormormormormormorableablefleandibleandscalablecode.2)garbageCollectionAutoctionAutoctionAutoctionAutoctionAutoctionautomorymanatesmemorymanateMmanateMmanateMmanagementButCancausElatenceiss.3)

JVM内部:深入Java虚拟机JVM内部:深入Java虚拟机May 12, 2025 am 12:07 AM

JVM的核心组件包括ClassLoader、RuntimeDataArea和ExecutionEngine。1)ClassLoader负责加载、链接和初始化类和接口。2)RuntimeDataArea包含MethodArea、Heap、Stack、PCRegister和NativeMethodStacks。3)ExecutionEngine由Interpreter、JITCompiler和GarbageCollector组成,负责bytecode的执行和优化。

什么是使Java安全安全的功能?什么是使Java安全安全的功能?May 11, 2025 am 12:07 AM

Java'ssafetyandsecurityarebolsteredby:1)strongtyping,whichpreventstype-relatederrors;2)automaticmemorymanagementviagarbagecollection,reducingmemory-relatedvulnerabilities;3)sandboxing,isolatingcodefromthesystem;and4)robustexceptionhandling,ensuringgr

必不可少的Java功能:增强您的编码技巧必不可少的Java功能:增强您的编码技巧May 11, 2025 am 12:07 AM

javaoffersseveralkeyfeaturesthatenhancecodingskills:1)对象 - 方向 - 方向上的贝利奥洛夫夫人 - 启动worldentities

JVM最完整的指南JVM最完整的指南May 11, 2025 am 12:06 AM

thejvmisacrucialcomponentthatrunsjavacodebytranslatingitolachine特定建筑,影响性能,安全性和便携性。1)theclassloaderloader,links andinitializesClasses.2)executionEccutionEngineExecutionEngineExecutionEngineExecuteByteCuteByteCuteByteCuteBytecuteBytecuteByteCuteByteCuteByteCuteBytecuteByteCodeNinstRonctientions.3)Memo.3)Memo

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具