Java操作Mysql的方法

关于Java操作MySQL的方法,需要掌握以下几点:

  1. 导入数据库驱动程序
  2. 建立数据库连接
  3. 创建statement对象,执行SQL语句
  4. 处理查询结果集
  5. 关闭各种连接

下面将详细介绍这些步骤以及如何实现它们。

导入数据库驱动程序

在Java中操作MySQL,需要先导入MySQL的JDBC驱动程序。如果你使用的是Maven等依赖管理工具,可以直接在pom.xml中添加如下依赖:

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>x.xx.xx</version>
</dependency>

其中x.xx.xx需要替换为具体的版本号。

如果不使用Maven等依赖管理工具,则需要手动下载MySQL的JDBC驱动程序,并将其添加到CLASSPATH中。

建立数据库连接

建立数据库连接的代码如下所示:

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

public class DBUtil {
    private static final String URL = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
    private static final String USER = "root";
    private static final String PASSWORD = "root";

    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER, PASSWORD);
        } catch (ClassNotFoundException e) {
            System.out.println("JDBC驱动程序未找到!");
        } catch (SQLException e) {
            System.out.println("建立数据库连接失败!");
        }
        return conn;
    }
}

其中,URL是连接MySQL的URL,USER和PASSWORD分别是连接MySQL的用户名和密码。getConnection()方法返回一个Connection对象,用于后续的数据库操作。

创建Statement对象,执行SQL语句

创建Statement对象的代码如下所示:

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection conn = DBUtil.getConnection();
        Statement stmt = null;
        ResultSet rs = null;
        try {
            String query = "SELECT * FROM user WHERE id = 1";
            stmt = conn.createStatement();
            rs = stmt.executeQuery(query);
            while (rs.next()) {
                System.out.println(rs.getString("name"));
                System.out.println(rs.getInt("age"));
            }
        } catch (SQLException e) {
            System.out.println("执行SQL语句失败!");
        } finally {
            try {
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.out.println("关闭连接失败!");
            }
        }
    }
}

上述代码中,我们使用createStatement()方法创建了一个Statement对象,stmt.executeQuery()方法用于执行查询语句,rs.next()方法用于返回结果集中的下一条记录,rs.getString("name")和rs.getInt("age")用于获取结果集中的数据。

除了使用Statement对象来执行SQL语句外,还可以使用PreparedStatement对象来预编译SQL语句,提高执行效率。

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection conn = DBUtil.getConnection();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            String query = "SELECT * FROM user WHERE id = ?";
            pstmt = conn.prepareStatement(query);
            pstmt.setInt(1, 1);
            rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getString("name"));
                System.out.println(rs.getInt("age"));
            }
        } catch (SQLException e) {
            System.out.println("执行SQL语句失败!");
        } finally {
            try {
                if (rs != null) rs.close();
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.out.println("关闭连接失败!");
            }
        }
    }
}

上述代码中,我们使用prepareStatement()方法创建了一个PreparedStatement对象,setInt(1, 1)方法用于给查询语句中的占位符传参。

处理查询结果集

结果集是一个带有光标的对象,它维护在数据表上的位置。使用结果集的next()方法以顺序方式遍历表格。

关闭各种连接

在捕获到异常或使用完各种连接之后,需要关闭代码中使用的Connection、Statement、ResultSet等连接。务必保证它们的关闭顺序为ResultSet -> Statement -> Connection。

try {
    if (rs != null) rs.close();
    if (stmt != null) stmt.close();
    if (conn != null) conn.close();
} catch (SQLException e) {
    System.out.println("关闭连接失败!");
}

接下来给出示例代码清单:

import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection conn = DBUtil.getConnection();
        Statement stmt = null;
        ResultSet rs = null;
        try {
            String query = "SELECT * FROM user WHERE id = 1";
            stmt = conn.createStatement();
            rs = stmt.executeQuery(query);
            while (rs.next()) {
                System.out.println(rs.getString("name"));
                System.out.println(rs.getInt("age"));
            }
        } catch (SQLException e) {
            System.out.println("执行SQL语句失败!");
        } finally {
            try {
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.out.println("关闭连接失败!");
            }
        }
    }
}
import java.sql.*;

public class Main {
    public static void main(String[] args) {
        Connection conn = DBUtil.getConnection();
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            String query = "SELECT * FROM user WHERE id = ?";
            pstmt = conn.prepareStatement(query);
            pstmt.setInt(1, 1);
            rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getString("name"));
                System.out.println(rs.getInt("age"));
            }
        } catch (SQLException e) {
            System.out.println("执行SQL语句失败!");
        } finally {
            try {
                if (rs != null) rs.close();
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.out.println("关闭连接失败!");
            }
        }
    }
}

以上为Java操作MySQL的基本方法,供您参考。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java操作Mysql的方法 - Python技术站

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

相关文章

  • Spring中使用腾讯云发送短信验证码的实现示例

    下面我将为您详细讲解在Spring中使用腾讯云发送短信验证码的实现示例,并提供两个示例给您参考。 腾讯云SMS SDK介绍 在Spring中使用腾讯云发送短信验证码,需要使用腾讯云的SMS SDK。腾讯云的SMS SDK是专为开发人员和企业用户量身打造的短信发送解决方案,它提供了多种方式发送短信,包含了API接口、SDK、控制台等多种方式,并且可以满足不同场…

    Java 2023年5月20日
    00
  • Spring Cloud Data Flow初体验以Local模式运行

    以下是“Spring Cloud Data Flow初体验以Local模式运行”的完整攻略。 准备工作 首先需要创建一个Spring Boot项目,并添加如下依赖: <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> …

    Java 2023年5月20日
    00
  • Java excel数据导入mysql的实现示例详解

    背景介绍 Java语言非常流行,并且广泛使用于各种应用程序开发中,其中Java处理Excel文件并将数据导入MySQL数据库是非常常见的场景。在这里我们将会介绍Java excel数据导入MySQL的实现方式,并提供一些示例演示。 准备工作 在开始之前,我们需要进行一些准备工作,其中需要的工具有: IDEA开发工具 Maven构建工具 Excel解析工具:P…

    Java 2023年5月20日
    00
  • SpringBoot概述及在idea中创建方式

    SpringBoot概述 Spring Boot是一个开源的Java框架,它摆脱了传统Spring框架的繁琐配置,建立在Spring Framework的基础之上。Spring Boot提供了一种快速简便的方式来搭建Java应用程序,并且默认设置对各种Spring组件、外部组件、配置管理等进行了很好的支持。 Spring Boot使用“约定大于配置”的方式来…

    Java 2023年5月15日
    00
  • Kafka使用入门教程第1/2页

    下面我会详细讲解“Kafka使用入门教程第1/2页”的完整攻略。 Kafka使用入门教程第1/2页 简介 Apache Kafka是一种高吞吐量、分布式的发布订阅消息系统。它最初由LinkedIn公司开发,之后成为了Apache软件基金会的一部分。Kafka的设计目标是通过Hadoop的并行加载机制来统一线上和离线消息处理的语义。 安装和环境配置 在进行Ka…

    Java 2023年5月20日
    00
  • jsp hibernate的分页代码第2/3页

    针对“jsp hibernate的分页代码第2/3页”,我将提供以下完整攻略: JSP Hibernate 分页代码攻略 什么是 JSP 分页? JSP 分页是指将大量数据分页展示在网页上,每页展示固定的数据量并提供用户进行翻页查看的方式,以便更好地展示数据和提升用户体验。 基于 Hibernate 的 JSP 分页 Hibernate 是一款开源的 ORM…

    Java 2023年5月31日
    00
  • Java获取文件路径常用方法解析

    获取文件路径是Java程序中经常用到的操作。常见的文件路径包括绝对路径和相对路径,本文将详细解析Java获取文件路径的常用方法。 1. 获取当前项目的绝对路径 我们可以通过以下代码获取当前项目的绝对路径: String projectPath = System.getProperty("user.dir"); 这种方式获取的路径是不包括文…

    Java 2023年5月20日
    00
  • Java实现监听文件变化的三种方案详解

    Java实现监听文件变化的三种方案详解 在Java编程中,经常需要对文件进行监听,以便在文件发生更新时及时做出相应的处理。下面将介绍三种实现文件监听的方案,分别是Java 7的WatchService、commons-io库、以及第三方库jnotify。 1. Java 7的WatchService Java 7引入了WatchService API,它可以…

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