JDBC 入门教程

server/2024/12/23 9:27:44/

Java Database Connectivity (JDBC) 是 Java 平台提供的一种与各种数据库连接的方式和规范。通过 JDBC,开发者可以在 Java 平台上完成数据库的查询、更新和操作。本文将详细认识 JDBC 的基础概念,并通过实战例子介绍其使用方法。


1. JDBC 概念

JDBC 接口是 Java 提供的一种 API,用于与数据库进行交互,其核心涉及以下三个概念:

  1. 数据源连接:通过 JDBC 与数据库建立一个连接。

  2. 进行 SQL 操作:执行 SQL 语句,如查询、插入、删除和更新。

  3. 结果处理:将 SQL 操作的结果返回给用户,如表中的数据。

JDBC 接口使用一种默认的驱动模式,通过实现各种数据库驱动。通过 JDBC,开发者可以完成对多种数据库的泛通操作。


2. JDBC 基础构件

2.1 DriverManager

DriverManager 是 JDBC 连接管理器,用于泛通管理所有驱动程序和数据库连接。

其主要函数有:

  • getConnection(String url):返回一个 Connection 对象。

  • registerDriver(Driver driver):注册一个 JDBC 驱动。

2.2 Connection

Connection 是与特定数据库保持连接的对象,提供了远程数据操作的机制。

重要方法有:

  • createStatement():创建一个 Statement 对象,用于 SQL 操作。

  • prepareStatement(String sql):创建预处理声明对象。

  • setAutoCommit(boolean autoCommit):设置是否自动提交。

  • commit():提交一个事务。

2.3 Statement

Statement 是 JDBC 中用于执行 SQL 语句的接口,有三种为主要实现:

  1. Statement:适合基本 SQL 执行,但存在泛复汇缩问题。

  2. PreparedStatement:预处理声明,可以防止 SQL 泛洞,适合反复操作。

  3. CallableStatement:用于调用数据库中的储存过程和函数。

2.4 ResultSet

ResultSet 是用于存储查询结果的对象,提供了对资料进行位置和取值的方法。

举例:

ResultSet rs = statement.executeQuery("SELECT * FROM students");
while (rs.next()) {int id = rs.getInt("id");String name = rs.getString("name");System.out.println("ID: " + id + ", Name: " + name);
}

3. JDBC 实战

以一个基本数据库操作为例,完成以下流程:

3.1 添加文件依赖

在 Maven 项目中,依赖其 MySQL Connector:

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version>
</dependency>

3.2 配置数据库参数

application.properties中配置:

jdbc.url=jdbc:mysql://localhost:3306/school
jdbc.username=root
jdbc.password=root

3.3 Java 实现

3.3.1 创建连接
import java.sql.*;public class JDBCExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/school";String username = "root";String password = "root";try (Connection conn = DriverManager.getConnection(url, username, password)) {System.out.println("连接成功!");} catch (SQLException e) {e.printStackTrace();}}
}
3.3.2 查询数据

http://www.ppmy.cn/server/152456.html

相关文章

qt 类中的run线程

在Qt中&#xff0c;QThread类的run()方法是线程的执行入口&#xff0c;它是由QThread内部自动调用的&#xff0c;而不是用户直接调用。 详细解释&#xff1a; QThread类&#xff1a; QThread是Qt的线程类&#xff0c;提供了用于多线程操作的接口。我们可以创建QThread对象并将…

文心一言对接FreeSWITCH实现大模型呼叫中心

文心一言对接FreeSWITCH实现大模型呼叫中心 作者&#xff1a;开源大模型智能呼叫中心FreeIPCC&#xff0c;Github&#xff1a;https://github.com/lihaiya/freeipcc 随着人工智能技术的快速发展&#xff0c;特别是大规模语言模型&#xff08;LLM&#xff09;的应用&#xff0…

Chromium GN目标指南 - 查看GN目标(三)

引言 在前面的文章中&#xff0c;我们介绍了 Chromium 构建系统中的 GN 的基本概念、目录结构和常用工具&#xff0c;并通过构建一个简单的 Demo 学习了如何编写和使用 executable 目标。在本篇文章中&#xff0c;我们将学习如何查看和挑选合适的 GN 目标&#xff0c;以便于我…

sql server索引优化语句

第一步 建一个测试表 --create table TestUsers --( -- Id int primary key identity(1,1), -- Username varchar(30) not null, -- Password varchar(10) not null, -- CreateDateTime datetime not null --)第二步 插入100w数据 大概1分钟执行时间 ----插入数据…

面试小札:Java后端闪电五连鞭_8

1. Kafka消息模型及其组成部分 - 消息&#xff08;Message&#xff09;&#xff1a;是Kafka中最基本的数据单元。消息包含一个键&#xff08;key&#xff09;、一个值&#xff08;value&#xff09;和一个时间戳&#xff08;timestamp&#xff09;。键可以用于对消息进行分区等…

基于鲲鹏服务器的打砖块小游戏部署

案例介绍 鲲鹏服务器是基于鲲鹏处理器的新一代数据中心服务器&#xff0c;适用于大数据、分布式存储、高性能计算和数据库等应用。鲲鹏服务器具有高性能、低功耗、灵活的扩展能力&#xff0c;适合大数据分析、软件定义存储、Web等应用场景。 本案例将指导开发者如何在鲲鹏服务…

Kile5 ST-LINK立即执行

让每次下载好之后立即执行程序&#xff0c;不用按复位按钮才执行。 勾选

如何彻底删除电脑数据以防止隐私泄露

在数字化时代&#xff0c;个人隐私和数据安全成为了人们日益关注的问题。当我们需要处理不再需要的电脑数据时&#xff0c;如何确保这些数据被彻底删除&#xff0c;以防止隐私泄露&#xff0c;成为了一个重要的课题。本文将详细介绍几种彻底删除电脑数据的方法&#xff0c;并给…