Java对MySQL数据库进行连接、查询和修改操作方法

关于“Java对MySQL数据库进行连接、查询和修改操作方法”的完整攻略,我们可以以下列步骤进行:

1. 下载MySQL的JDBC驱动器

Java需要使用MySQL连接器(JDBC驱动器)才能连接MySQL服务器。你可以从MySQL官网上找到驱动器并下载。

下载的链接是:https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.27.tar.gz

有关下载和安装MySQL JDBC Driver的更多信息请查看此处

2. 添加MySQL JDBC驱动器到项目中

下载JDBC驱动器后,将其中的jar文件添加到项目的classpath路径下。在Maven项目中,可以在pom.xml文件中添加以下依赖项:

<!-- MySQL JDBC驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>
</dependency>

3. 用Java连接MySQL数据库

下面是一个基本的Java代码片段,它连接到MySQL数据库并返回一个connection对象:

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

public class MySQLJDBCExample {
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USER = "root";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        Connection conn = null;
        try {
            // 加载MySQL JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 获取数据库连接
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
            System.out.println("Connection Success!");
        } catch (SQLException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (ClassNotFoundException ex) {
            System.out.println("找不到MySQL JDBC驱动类。");
            ex.printStackTrace();
        } finally {
            // 关闭连接
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}

请注意,上面的示例假设MySQL服务器在本地运行,并使用默认端口3306。在实际情况下,你需要替换URL,USER和PASSWORD参数以连接到你的MySQL服务器。

4. 查询MySQL数据库

查询MySQL数据库需要使用Statement和ResultSet对象。

下面是一个基本的代码片段,它查询MySQL数据库中的数据并将结果打印到控制台上:

import java.sql.*;

public class MySQLJDBCExample {
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USER = "root";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM student");
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
            }
        } catch (SQLException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (ClassNotFoundException ex) {
            System.out.println("找不到MySQL JDBC驱动类。");
            ex.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}

上面的示例假定MySQL数据库test中有一个名为student的表,它包含id,name和age三个字段。

5. 修改MySQL数据库

修改MySQL数据库需要使用PreparedStatement对象。

下面是一个代码示例,它演示如何向MySQL数据库的student表中插入一行数据:

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

public class MySQLJDBCExample {
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USER = "root";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
            String sql = "INSERT INTO student(name, age) VALUES (?, ?)";
            ps = conn.prepareStatement(sql);
            ps.setString(1, "Peter");
            ps.setInt(2, 18);
            int rowsAffected = ps.executeUpdate();
            System.out.println(rowsAffected + " rows affected.");
        } catch (SQLException ex) {
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (ClassNotFoundException ex) {
            System.out.println("找不到MySQL JDBC驱动类。");
            ex.printStackTrace();
        } finally {
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}

在上面的示例中,我们创建了一个PreparedStatement对象,并向它传入一条SQL INSERT语句。ps.setString(1, "Peter");指定了name字段的值,ps.setInt(2, 18)指定了age字段的值。最后,我们使用ps.executeUpdate()将数据插入到student表中。

结论

以上就是Java对MySQL数据库进行连接、查询和修改操作方法的完整攻略了。在开发中,我们应该根据实际情况对上述示例进行修改和扩展。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java对MySQL数据库进行连接、查询和修改操作方法 - Python技术站

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

相关文章

  • 关于java数组与字符串相互转换的问题

    关于Java数组与字符串相互转换的问题,以下是完整攻略: 将数组转换为字符串 使用Arrays类的toString()方法 可以使用Arrays类的toString()方法将数组转换为字符串。这个方法将数组转换为字符串,并且用逗号和空格分隔每个元素。 示例代码如下: int[] arr = {1, 2, 3, 4, 5}; String str = Arra…

    Java 2023年5月26日
    00
  • java实现读取、删除文件夹下的文件

    关于Java实现读取、删除文件夹下的文件的攻略,可以分为两个步骤:读取和删除文件。 1. 读取文件 Java中读取文件需要使用File类,它提供了各种方法来处理文件和文件夹。使用File类的方法之一是listFiles(),该方法用于获取在文件夹中的所有文件和文件夹的列表。我们可以使用该方法获得要操作的文件夹下面的所有文件或文件夹。 以下是一个读取文件夹下所…

    Java 2023年5月20日
    00
  • MyBatis-Plus中最简单的查询操作教程(Lambda)

    当你正在使用MyBatis-Plus来进行数据库操作时,最简单的操作之一是进行查询操作。MyBatis-Plus提供了两种形式的查询操作:Wrapper和Lambda。其中,Wrapper是MyBatis-Plus最初提供的查询方式。但是,在使用Wrapper时,我们需要手动构建一些查询条件,这对于一些较为复杂的查询来说,会使代码变得十分冗长。因此,为了解决…

    Java 2023年5月20日
    00
  • Java日常练习题,每天进步一点点(11)

    Java日常练习题是一组有关Java语言的练习题,可以帮助练习者巩固Java语言的基础知识,提高编程技巧和解决问题的能力。以下是本文对“Java日常练习题,每天进步一点点(11)”进行详细讲解的攻略。 1.题目描述 “Java日常练习题,每天进步一点点(11)”所涉及的题目包含以下几个方面: 如何计算一个数组的和; 如何计算一个数组的平均值; 如何查找数组中…

    Java 2023年5月26日
    00
  • 线程优先级的作用是什么?

    以下是关于线程优先级的作用的完整使用攻略: 线程优先级的作用 线程优先级是指线程在竞争 CPU 资源时的优先级程优先级越高,就有可能得 CPU 资源,从而更快地执行任务。线程优先级的取值范围是 1~10,其中 1 表示低先级,10 表示高先级。 线程优先级的作用主要有以下几个方面: 1. 提高程序的响应速度和吞吐量 线程优先级可以用来提高程序的响应速度和吞吐…

    Java 2023年5月12日
    00
  • 如何在Mac下配置多个Java版本

    以下是在Mac下配置多个Java版本的攻略,包括两条示例说明。 配置多个Java版本 步骤一:下载并安装不同版本的Java 首先需要下载不同版本的Java安装包,可以从Oracle官方网站下载。下载完成后,双击安装包,按照提示安装即可。安装完成后,Java应该会被安装在/Library/Java/JavaVirtualMachines/目录下。 步骤二:设置…

    Java 2023年5月26日
    00
  • JAVA8 lambda表达式权威教程

    JAVA8 lambda表达式权威教程攻略 什么是lambda表达式 Lambda表达式是一种在JDK8中引入的函数式编程语法,用于简化代码中的匿名内部类的使用。它可以在不需要实现某个接口的情况下,直接创建出一个函数式接口的实例。 Lambda表达式的基本语法 (parameter) -> expression (parameter) -> { …

    Java 2023年5月26日
    00
  • SpringBoot中处理日期的两种方式小结

    下面我将详细讲解SpringBoot中处理日期的两种方式: 一、使用注解@JsonFormat @JsonFormat注解是SpringBoot中处理日期的一种常用方式。通过使用@JsonFormat注解,可以方便的将日期格式化为需要的格式。具体的使用方式如下: 添加@JsonFormat注解 在需要格式化日期的属性上添加@JsonFormat注解。 pub…

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