java连接Mysql数据库的工具类

当我们使用Java语言编写程序操作MySQL数据库时,需要用到连接MySQL数据库的相关工具类。下面,我将详细讲解Java连接MySQL数据库的工具类的完整攻略。

1. 引入相关依赖

我们需要在项目中引入MySQL的Java Connector依赖,可以使用以下Maven依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>版本号</version>
</dependency>

或在项目中手动添加JAR包。

2. 创建工具类

我们可以通过创建一个工具类来实现连接MySQL数据库的操作。具体步骤如下:

2.1 定义常量

我们需要定义一些连接MySQL数据库需要用到的常量,例如数据库地址、用户名、密码等。你需要将下面的常量值替换为你的请数据信息。

public class MySQLUtil {
    private static final String URL = "jdbc:mysql://localhost:3306/mydb?useSSL=false&characterEncoding=utf8&serverTimezone=UTC";
    private static final String USER = "root";
    private static final String PASSWORD = "root";
}

2.2 创建连接对象方法

在工具类中创建一个获取数据库连接的方法,代码如下所示:

public class MySQLUtil {
    //...

    /**
     * 获取数据库连接对象
     *
     * @return 数据库连接对象
     */
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }
}

2.3 创建关闭连接方法

在工具类中,我们还需要创建一个关闭数据库连接的方法,避免长时间保持数据库连接。代码如下所示:

public class MySQLUtil {
    //...

    /**
     * 关闭数据库连接
     *
     * @param rs   ResultSet对象
     * @param stmt Statement对象
     * @param conn Connection对象
     */
    public static void close(ResultSet rs, Statement stmt, Connection conn) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stmt != null) {
                stmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            // 处理异常
        }
    }
}

3. 使用工具类

在我们的Java程序中,我们可以直接使用MySQLUtil中提供的方法,获取数据库连接对象,执行SQL语句等操作。下面提供两个简单的使用示例:

3.1 查询操作

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 获取数据库连接
            conn = MySQLUtil.getConnection();

            // 创建Statement对象
            stmt = conn.createStatement();

            // 执行查询操作
            rs = stmt.executeQuery("SELECT * FROM users");

            // 遍历结果集
            while (rs.next()) {
                int id = rs.getInt("id");
                String username = rs.getString("username");
                String password = rs.getString("password");
                System.out.println("id: " + id + ", username: " + username + ", password: " + password);
            }
        } catch (SQLException e) {
            // 处理异常
        } finally {
            // 关闭资源
            MySQLUtil.close(rs, stmt, conn);
        }
    }
}

3.2 插入操作

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            // 获取数据库连接
            conn = MySQLUtil.getConnection();

            // 创建PreparedStatement对象
            ps = conn.prepareStatement("INSERT INTO users(username, password) VALUES (?, ?)");

            // 设置参数
            ps.setString(1, "zhangsan");
            ps.setString(2, "123456");

            // 执行插入操作
            int result = ps.executeUpdate();

            System.out.println(result > 0 ? "插入成功" : "插入失败");
        } catch (SQLException e) {
            // 处理异常
        } finally {
            // 关闭资源
            MySQLUtil.close(null, ps, conn);
        }
    }
}

以上就是Java连接MySQL数据库的工具类完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java连接Mysql数据库的工具类 - Python技术站

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

相关文章

  • 使用 Sa-Token 完成踢人下线功能

    一、需求 在企业级项目中,踢人下线是一个很常见的需求,如果要设计比较完善的话,至少需要以下功能点: 可以根据用户 userId 踢出指定会话,对方再次访问系统会被提示:您已被踢下线,请重新登录。 可以查询出一个账号共在几个设备端登录,并返回其对应的 Token 凭证,以便后续操作。 可以只踢出一个账号某一个端的会话,其他端不受影响。例如在某电商APP上可以看…

    Java 2023年5月9日
    00
  • JSP运行原理和九大隐式对象说明

    JSP(Java Server Pages)是一种动态生成Web页面的技术,它将Java代码嵌入到HTML页面中,通过服务器解析Java代码并生成HTML页面,以此实现动态网页的生成。下面将详细讲解JSP的运行原理以及九大隐式对象。 JSP运行原理 首先,客户端向服务器发出请求,请求访问JSP页面。 服务器通过JSP的容器,将JSP文件转换成Servlet并…

    Java 2023年6月15日
    00
  • redis scan命令导致redis连接耗尽,线程上锁的解决

    下面我会详细讲解Redis Scan命令导致Redis连接耗尽和线程上锁的解决攻略。 问题背景 Redis Scan命令是Redis用于迭代key的一种方法。Scan命令的工作原理是对已有keys的集合进行分批迭代。但是,由于Scan需要通过多次迭代才能完成全部数据的扫描,所以会比较耗时和占用Redis的连接资源。 同时,当多个线程同时对Redis进行Sca…

    Java 2023年5月19日
    00
  • 常见的Java单元测试框架有哪些?

    常见的 Java 单元测试框架有 JUnit、TestNG、Spock 等。 JUnit JUnit 是一个 Java 单元测试框架,它是一个 Open Source 软件,遵循 Apache2.0 许可。JUnit 提供了一些注解和断言,可以使用它们编写测试代码。 示例说明 创建被测试类 public class Calculator { public i…

    Java 2023年5月11日
    00
  • 详谈java编码互转(application/x-www-form-urlencoded)

    当我们进行HTTP请求时,参数会以一定的格式作为请求体进行传输。其中最常用的参数编码格式是application/x-www-form-urlencoded。在Java中,我们可以通过一些方式来进行此种编码格式的转化。 一、URLEncoding和URLDecoding Java中提供了两个工具类:java.net.URLEncoder和java.net.U…

    Java 2023年5月20日
    00
  • 详解Spring boot/Spring 统一错误处理方案的使用

    详解Springboot/Spring统一错误处理方案的使用 在SpringBoot/Spring应用程序中,错误处理是一个非常重要的方面。在本文中,我们将介绍如何使用SpringBoot/Spring的统一错误处理方案来处理应用程序中的错误。 步骤一:添加依赖 我们需要在pom.xml文件中添加Spring Boot Starter Web依赖。以下是一个…

    Java 2023年5月15日
    00
  • 员工管理系统java版

    这里为您详细讲解“员工管理系统java版”的完整攻略。 系统概述 这是一个基于Java语言开发的员工管理系统,主要功能包括员工信息录入、查询、修改和删除,部门信息录入、查询和修改,以及用户权限管理等。 系统环境 本系统运行需要JDK1.8及以上版本,建议使用IntelliJ IDEA等集成开发环境进行开发和调试。 数据库设计 本系统使用MySQL数据库进行数…

    Java 2023年5月23日
    00
  • java基础之方法和方法的重载详解

    Java基础之方法和方法的重载详解 方法是Java程序中最基本的组成部分之一。“方法”的英文名为“Method”,也可以被称为“函数(Function)”或者“子程序(Subroutine)”。方法装有的代码块可以被多次调用,使得程序模块化,更加易于理解、调试和维护。 什么是Java方法? Java方法是一组相关语句的集合,能够一次性执行多个语句。方法是一种…

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