java中JDBC增删改查操作详解

yizhihongxing

Java中JDBC增删改查操作详解

JDBC(Java Database Connectivity)是Java程序访问数据库的标准API。学习JDBC可以帮助我们了解如何在Java程序中对数据库进行增删改查等操作。

本教程将详细讲解Java中JDBC的增删改查操作,包括以下部分:

  • JDBC环境搭建
  • 数据库的增删改查操作
  • 示例

JDBC环境搭建

在使用JDBC之前,我们需要先配置JDBC环境。

  1. 下载并安装JDBC驱动

JDBC驱动程序是连接Java程序和数据库的桥梁,不同的数据库需要不同的驱动。以MySQL为例,在官网下载MySQL的JDBC驱动:https://dev.mysql.com/downloads/connector/j/

下载完后,将jar包添加到Java项目的classpath中。

  1. 加载JDBC驱动

在使用JDBC之前,需要先加载JDBC驱动程序。可以使用 Class.forName()方法来加载驱动。

// 加载MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
  1. 建立数据库连接

使用JDBC访问数据库需要先建立数据库连接,可以通过 DriverManager.getConnection()方法来建立连接,并传入数据库的URL、用户名和密码。

// 建立MySQL数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");

数据库的增删改查操作

增加数据

通过JDBC可以使用SQL语句向数据库中插入新记录。可以使用 PreparedStatementStatement对象来执行SQL语句。

String sql = "INSERT INTO student(name, age) VALUES(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 25);
pstmt.executeUpdate();

这里使用 PreparedStatement对象来执行SQL语句,使用 setXXX()方法来设置占位符的值,再调用 executeUpdate()方法执行SQL语句。

删除数据

使用JDBC可以使用SQL语句从数据库中删除记录。

String sql = "DELETE FROM student WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1);
pstmt.executeUpdate();

这里使用 PreparedStatement对象来执行SQL语句,使用 setXXX()方法来设置占位符的值,再调用 executeUpdate()方法执行SQL语句。

修改数据

使用JDBC可以使用SQL语句更新数据库中的记录。

String sql = "UPDATE student SET name=?, age=? WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "Tom");
pstmt.setInt(2, 30);
pstmt.setInt(3, 1);
pstmt.executeUpdate();

这里使用PreparedStatement对象来执行SQL语句,使用setXXX()方法来设置占位符的值,再调用executeUpdate()方法执行SQL语句。

查询数据

使用JDBC可以使用SQL语句查询数据库中的记录。

String sql = "SELECT * FROM student WHERE age=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 25);
ResultSet rs = pstmt.executeQuery();

while (rs.next()) {
    System.out.println("id=" + rs.getInt("id") + ", name=" + rs.getString("name") + ", age=" + rs.getInt("age"));
}

这里使用PreparedStatement对象来执行查询SQL语句,使用setXXX()方法设置占位符的值,并调用executeQuery()方法返回结果集,遍历结果集并输出每一条记录的信息。

示例

下面是一个完整的例子,演示了如何使用JDBC进行增删改查操作。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCTest {
    static {
        try {
            // 加载MySQL驱动
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 建立MySQL数据库连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");

            // 增加数据
            String sql = "INSERT INTO student(name, age) VALUES(?,?)";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "Tom");
            pstmt.setInt(2, 25);
            pstmt.executeUpdate();

            // 删除数据
            sql = "DELETE FROM student WHERE id=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 1);
            pstmt.executeUpdate();

            // 修改数据
            sql = "UPDATE student SET name=?, age=? WHERE id=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "Tom");
            pstmt.setInt(2, 30);
            pstmt.setInt(3, 2);
            pstmt.executeUpdate();

            // 查询数据
            sql = "SELECT * FROM student WHERE age=?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 25);
            ResultSet rs = pstmt.executeQuery();

            while (rs.next()) {
                System.out.println("id=" + rs.getInt("id") + ", name=" + rs.getString("name") + ", age=" + rs.getInt("age"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭数据库连接
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

该例子使用了MySQL驱动,在建立MySQL连接之后,执行了增加数据、删除数据、修改数据、查询数据等操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中JDBC增删改查操作详解 - Python技术站

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

相关文章

  • JDK8 中Arrays.sort() 排序方法详解

    JDK8 中 Arrays.sort() 排序方法详解 简介 Arrays.sort() 是 Java 中用于对数组进行排序的方法之一。该方法可用于对数字数组进行快速排序,也可用于对字符串数组进行字典序排序等。本文将详细讲解 JDK8 中 Arrays.sort() 排序方法的使用,包括参数、返回值、排序算法等。 方法参数 Arrays.sort() 方法有…

    Java 2023年5月26日
    00
  • MyBatis如何实现多表查询(多对一、一对多)

    MyBatis 是一种优秀的持久层框架,它提供了一种灵活方便的方式来处理多表操作。多表查询中最常见的场景是多对一和一对多关系。接下来我们详细讲解 MyBatis 如何实现这两种关系的多表查询。 多对一查询 多对一查询通常是一个表中的多条数据对应另一个表中的一条数据。在 MyBatis 中实现多对一查询的步骤如下: 步骤一:建立实体类 我们需要建立两张表的实体…

    Java 2023年5月20日
    00
  • java的Hibernate框架报错“LockTimeoutException”的原因和解决方法

    当使用Java的Hibernate框架时,可能会遇到“LockTimeoutException”错误。这个错误通常是由以下原因之一引起的: 数据库锁定超时:如果数据库锁定超时,则可能会出现此错误。在这种情况下,需要检查数据库锁定配置并进行必要的更改。 并发访问冲突:如果多个线程同时访问同一个实体并尝试对其进行修改,则可能会出现此错误。在这种情况下,需要使用H…

    Java 2023年5月5日
    00
  • 在Java的Hibernate框架中使用SQL语句的简单介绍

    在Java的Hibernate框架中,使用SQL语句可以通过以下几个步骤完成: 步骤一:建立映射文件或注解 在使用Hibernate的过程中,通常需要建立映射文件或注解来完成ORM(对象关系映射)的功能。在需要使用SQL语句时,需要在映射文件或注解中增加以下配置信息: <sql-query name="query_name">…

    Java 2023年5月20日
    00
  • java基于servlet实现文件上传功能解析

    接下来我将详细讲解Java基于Servlet实现文件上传功能的完整攻略。该攻略分为以下几个步骤: 在HTML页面中添加文件上传表单 编写Servlet来处理文件上传请求 使用Apache的文件上传组件来解析文件上传请求 保存文件到指定位置并返回上传结果给用户 下面就来详细介绍这些步骤。 1. 在HTML页面中添加文件上传表单 首先,在你的HTML页面中添加一…

    Java 2023年5月20日
    00
  • JS中表单的使用小结

    JS中表单的使用小结 在前端开发中,表单是不可避免的一个环节。HTML和CSS提供了表单的基本结构和样式,而JS可以用来处理表单中的数据和提交操作。在本文章中,将对JS中表单的使用做一个小结,并分享一些示例代码。 表单的基本结构 表单的基本结构包括form、input等元素,如下所示: <form> <label> 用户名:<i…

    Java 2023年5月26日
    00
  • Hadoop中的压缩与解压缩案例详解

    下面就为您详细讲解“Hadoop中的压缩与解压缩案例详解”的完整攻略。 什么是Hadoop中的压缩与解压缩? 在Hadoop中,由于数据量通常都很大,为了提高数据的存储效率和运行效率,我们经常需要将数据进行压缩。同时,在MapReduce的过程中,也需要对数据进行解压缩以方便处理。 Hadoop支持多种数据压缩格式,包括Gzip、Bzip2、LZO等。在使用…

    Java 2023年5月20日
    00
  • java基础面试题整理小结

    我们来详细讲解如何整理Java基础面试题的攻略。 1. 收集问题 首先,我们需要收集面试时经常出现的问题。可以通过以下途径进行收集: 查阅经典面试题 分析官方文档 参考编程书籍和教程 借鉴其他网站的面试问题 收集到的问题可以先列出来,并加上备注,便于后续整理和分类。 2. 整理分类 将问题按照分类整理,比如语法、集合、并发、IO等方面进行归类。这样方便后续查…

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