Java JDBC使用入门讲解

Java JDBC使用入门讲解

什么是 JDBC

Java 数据库连接(Java Database Connectivity,简称为 JDBC)是 Java 语言中用来规范客户端程序如何访问数据库的 API。

JDBC 提供了一组用于执行 SQL 语句的方法和获取执行结果的方法,包括对数据库连接、事务处理、元数据操作等内容的支持,为 Java 开发人员提供了便捷、安全和可靠的数据库访问方式。

JDBC 开发步骤

以下是使用 JDBC 连接数据库的一般步骤:

  1. 加载驱动程序:通过 Class.forName() 方法加载数据库驱动程序,比如MySQL官方提供的驱动是 com.mysql.jdbc.Driver。
  2. 建立数据库连接:使用驱动管理器 DriverManager.getConnection() 方法建立数据库连接。
  3. 创建 Statement 对象:通过 Connection 对象创建一个 Statement 对象来执行 SQL 语句。
  4. 执行 SQL 语句:通过 Statement 对象执行 SQL 语句,并获取返回结果。
  5. 处理结果集:对 SQL 语句返回的结果集进行处理,比如将结果集遍历并输出到控制台等。
  6. 释放资源:关闭结果集、Statement 对象和 Connection 对象等资源。

示例一:连接 MySQL 数据库

// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立数据库连接
Connection connection = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/test", "root", "mysql");
// 执行 SQL 语句
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM student");
// 处理结果集
while (resultSet.next()) {
    String name = resultSet.getString("name");
    int age = resultSet.getInt("age");
    System.out.println(name + " - " + age);
}
// 释放资源
resultSet.close();
statement.close();
connection.close();

在这个示例中,我们先通过 Class.forName() 启动 MySQL 数据库驱动,然后调用 DriverManager.getConnection() 方法建立与 MySQL 数据库的连接。接着创建 Statement 对象并执行一条查询语句,并通过遍历结果集将查询结果输出到控制台。最后在执行完毕后关闭连接、Statement 对象和结果集等资源。

示例二:使用 PreparedStatement 执行更新操作

Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/test", "root", "mysql");
String sql = "UPDATE student SET age = ? WHERE id = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 20);
preparedStatement.setInt(2, 1);
int updateCount = preparedStatement.executeUpdate();
System.out.println("受影响的行数:" + updateCount);
preparedStatement.close();
connection.close();

在这个示例中,我们首先通过 DriverManager.getConnection() 方法建立与 MySQL 数据库的连接,其后准备一条更新语句,在创建 PreparedStatement 对象的同时设置两个参数的值,然后调用 executeUpdate() 方法将更新语句发送给数据库并执行,最后输出更新的数据行数并释放资源等。

通过这个示例我们可以看到,使用 PreparedStatement 对象可以有效地避免 SQL 注入攻击,提高应用程序的安全性。同时该对象的可重用性也可以帮助我们减少所需创建的 Statement 对象个数,缩短连接数据库的时间,提高应用程序的性能等。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java JDBC使用入门讲解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • java实现纸牌游戏之小猫钓鱼算法

    Java实现纸牌游戏之小猫钓鱼算法攻略 简介 小猫钓鱼是一种流行的纸牌游戏,玩家需要通过牌面大小的推理和计算,最终获得胜利。本文将详细讲解Java实现小猫钓鱼游戏的算法步骤和代码实现。 算法步骤 初始化一副扑克牌,包括54张牌(52张普通牌和2张王牌); 洗牌,打乱牌的顺序; 将牌平均分成四份,分别给四个玩家,并根据牌面大小进行排序,从大到小排列; 小猫玩家…

    Java 2023年5月19日
    00
  • 带你入门Java的泛型

    带你入门Java的泛型攻略 什么是泛型? 泛型是Java中一个非常强大的特性,它可以让我们在编程时更加安全和便捷。简单来说,泛型就是一种具有类型参数化能力的编程机制。 Java语言中引入泛型,是为了解决在编译时无法确定类型参数的情况下,对类型检查和类型转换的灵活性问题。 泛型的优点 代码重用:泛型的声明可以与具体类型无关,因此可以使用相同的代码来处理不同类型…

    Java 2023年5月23日
    00
  • 基于Security实现OIDC单点登录的详细流程

    下面是基于Security实现OIDC单点登录的详细流程: 1. 环境准备 首先,要在项目中添加Spring Security和Spring Security OAuth2依赖: <dependency> <groupId>org.springframework.security</groupId> <artifac…

    Java 2023年5月20日
    00
  • SpringBoot安全认证Security的实现方法

    下面是Spring Boot安全认证Security的实现方法的完整攻略。 1. Spring Security简介 Spring Security是基于Spring框架的安全认证框架,在Spring Boot项目中可以很方便地实现用户身份认证和授权管理。 Spring Security提供了一个功能强大且灵活的框架,能够应对绝大多数的安全需求。它提供了许多…

    Java 2023年5月20日
    00
  • 在JS中如何调用JSP中的变量

    在JS中如何调用JSP中的变量需要用到以下两步: 在JSP中将要调用的变量声明为JS全局变量 在JS中通过调用全局变量来获取JSP中的变量值 下面我们分别来详细讲解。 1. 声明全局变量 在JSP中,我们需要将要被JS调用的变量声明为全局变量。在JSP中,我们可以使用<script>标签来声明全局变量,例如: <% String name …

    Java 2023年6月15日
    00
  • java实现上传图片并压缩图片大小功能

    要实现Java上传图片并压缩图片大小的功能,我们可以通过以下步骤完成: Step 1: 添加依赖 我们需要向项目中添加一些依赖,以便能够操作图片。这里我们推荐使用 Thumbnails这个依赖库,可以简化图片处理操作。 <dependency> <groupId>net.coobird</groupId> <arti…

    Java 2023年5月19日
    00
  • springboot @RequestBody 接收字符串实例

    下面我来详细讲解”springboot @RequestBody 接收字符串实例”的完整攻略。 1. @RequestBody 简介 @RequestBody注解用于接收前端发送的请求体数据,常用于POST请求中。使用该注解可以让SpringBoot自动将请求体转化为方法的参数。 2. 使用步骤 接收字符串类型的@RequestBody,主要有以下两个步骤:…

    Java 2023年5月27日
    00
  • Spring Boot运行部署过程图解

    下面详细讲解一下“SpringBoot运行部署过程图解”的完整攻略。 简介 SpringBoot是基于Spring Framework的一款开源框架,目前已成为Java领域中的热门框架之一。SpringBoot的优势在于它可以快速简单的创建一个独立运行的、生产级别的Spring应用,而不需要以前的一些繁琐的配置。本文将介绍SpringBoot的运行部署过程,…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部