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日

相关文章

  • Springboot集成ProtoBuf的实例

    下面是Spring Boot集成ProtoBuf的实例攻略,包括以下几个步骤: 添加依赖 在pom.xml文件中添加protobuf的依赖 <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</arti…

    Java 2023年5月26日
    00
  • Python和Go成为2019年最受欢迎的黑客工具(推荐)

    Python和Go成为2019年最受欢迎的黑客工具(推荐) 最近,Python和Go成为了黑客最钟爱的工具之一,这主要是因为Python和Go都具有强大的库和框架,而且易于学习和使用。在本篇攻略中,我们将介绍使用Python和Go进行黑客工作的基本步骤和示例。 Python攻击黑客工具示例 1. UDP Flooding攻击 UDP Flooding是一种D…

    Java 2023年5月20日
    00
  • Java 数据类型及类型转换的互相转换实例代码

    Java 是一门类型安全的编程语言,它的数据类型主要分为原始数据类型和引用数据类型两大类。其中,原始数据类型又可以分为四种整型、两种浮点型、一种字符型和一种布尔型。同时,Java 还提供了一些类型转换的工具类和语法来实现数据类型之间的转换。 一、Java 原始数据类型 Java 原始数据类型主要包括 byte、short、int、long、float、dou…

    Java 2023年5月26日
    00
  • Centos7.3下Tomcat8的安装配置教程

    好的!下面是 “Centos7.3下Tomcat8的安装配置教程” 的完整攻略: 安装JDK8 在Centos7.3系统下,使用以下命令安装JDK8: yum install java-1.8.0-openjdk-devel 验证JDK8是否成功安装: java -version 安装Tomcat8 下载Tomcat8的压缩包: wget https://m…

    Java 2023年5月19日
    00
  • js将键值对字符串转为json字符串的方法

    将键值对字符串转为JSON字符串的方法,可以使用JSON.parse()函数来实现。下面给出详细的攻略。 1. 确认键值对字符串的格式 在转换之前,需要确保键值对字符串的格式正确。格式应该是键值对之间使用逗号分隔,键与值之间使用冒号分隔,整个字符串包裹在一对花括号内。 例如,以下的字符串是合法的键值对字符串: {"name": &quot…

    Java 2023年5月26日
    00
  • 史上最全面的Spring Boot配置文件深入讲解

    史上最全面的Spring Boot配置文件深入讲解 Spring Boot是一个快速构建企业级应用程序的框架,它允许我们通过配置文件来快速配置和启动应用程序。在Spring Boot中,我们可以使用application.properties或application.yml等配置文件来配置应用程序的属性,以满足我们的需求。本文将深入讲解Spring Boot…

    Java 2023年5月19日
    00
  • Java基于jdbc连接mysql数据库操作示例

    下面是Java基于JDBC连接MySQL数据库操作的完整攻略,包含两条示例。 步骤一:准备工作 在开始Java程序连接MySQL数据库之前,需要完成以下几个准备工作: 安装MySQL数据库并创建需要操作的数据库和表 下载并安装Java JDK 下载并安装MySQL Connector/J驱动程序 步骤二:创建数据库连接 请按照以下步骤创建数据库连接: 加载M…

    Java 2023年5月19日
    00
  • Java比较两个List的值是否相等的方法

    要比较两个Java中的List是否相等,可以采用以下几种方法: 1.利用equals()方法进行比较 使用Java List提供的equals()方法进行比较是最简单的比较方式。这种方法只需要比较两个List中每个项目的值是否都相同,并且每个List中的项目顺序也要相同。示例代码如下: //定义两个List List<String> list1 …

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