java连接数据库增、删、改、查工具类

yizhihongxing

Java连接数据库是Java开发中的重要步骤之一,数据库增删改查操作则是开发中经常用到的。在Java中,可以通过JDBC来实现对数据库的增、删、改、查操作。为了方便开发人员对数据库的操作,我们可以封装一个工具类。

编写数据库连接工具类

在Java中,我们可以使用java.sql包中提供的工具类来连接数据库。首先需要在代码中加载数据库的驱动类,比如MySQL的驱动类是com.mysql.cj.jdbc.Driver。我们可以使用Class.forName()方法来加载驱动类,例如:

Class.forName("com.mysql.cj.jdbc.Driver");

接着,我们需要创建数据库连接,使用DriverManager.getConnection()方法。例如:

String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);

上述代码中,我们指定了连接的数据库的URL、用户名和密码。其中,URL可以在连接MySQL时指定相应的参数,比如useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai,用于指定编码集和时区。

我们可以将上述代码封装到一个工具类中,例如DBUtil类:

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?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
    private static final String USER = "root";
    private static final String PASSWORD = "123456";

    public static Connection getConnection() throws SQLException, ClassNotFoundException {
        Class.forName("com.mysql.cj.jdbc.Driver");
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }

}

数据库增、删、改、查操作的代码示例

数据库插入操作

数据库插入操作可以使用PreparedStatement接口来完成。例如,我们可以使用如下代码来向数据库中插入一条记录:

String sql = "INSERT INTO `user` (`name`, `age`, `email`) VALUES (?, ?, ?)";
try (Connection conn = DBUtil.getConnection();
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setString(1, "张三");
    pstmt.setInt(2, 18);
    pstmt.setString(3, "zhangsan@test.com");
    pstmt.executeUpdate();
}

上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement接口来预编译SQL语句。在编写SQL语句时,使用?来代替需要传入的参数。执行完成后,我们使用executeUpdate()方法来执行SQL语句,如果插入成功,则返回1。

数据库删除操作

数据库删除操作可以使用PreparedStatement接口来完成。例如,我们可以使用如下代码来删除数据库中的一条记录:

String sql = "DELETE FROM `user` WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setInt(1, 1);
    pstmt.executeUpdate();
}

上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement接口来预编译SQL语句。在编写SQL语句时,使用?来代替需要传入的参数。执行完成后,我们使用executeUpdate()方法来执行SQL语句,如果删除成功,则返回1。

数据库修改操作

数据库修改操作可以使用PreparedStatement接口来完成。例如,我们可以使用如下代码来修改数据库中的一条记录:

String sql = "UPDATE `user` SET `age`=? WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setInt(1, 20);
    pstmt.setInt(2, 1);
    pstmt.executeUpdate();
}

上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement接口来预编译SQL语句。在编写SQL语句时,使用?来代替需要传入的参数。执行完成后,我们使用executeUpdate()方法来执行SQL语句,如果修改成功,则返回1。

数据库查询操作

数据库查询操作可以使用Statement接口或者PreparedStatement接口来完成。例如,我们可以使用如下代码来查询数据库中的一条记录:

String sql = "SELECT * FROM `user` WHERE `id`=?";
try (Connection conn = DBUtil.getConnection();
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setInt(1, 1);
    try (ResultSet rs = pstmt.executeQuery()) {
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            String email = rs.getString("email");
            System.out.println(id + ", " + name + ", " + age + ", " + email);
        }
    }
}

上述代码中,我们首先创建了一条SQL语句,然后使用PreparedStatement接口来预编译SQL语句。在编写SQL语句时,使用?来代替需要传入的参数。执行完成后,我们使用executeQuery()方法来执行SQL语句,并返回一个ResultSet对象。ResultSet对象中包含了查询出来的数据记录。我们可以使用rs.next()方法来遍历ResultSet对象中的数据记录,并通过列名来获取相应的数据。

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

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • Java参数传递及值传递实现原理详解

    Java参数传递及值传递实现原理详解 Java中的参数传递涉及到两个概念:引用传递和值传递。本文将详细讲解Java参数传递及值传递的实现原理。 引用传递 引用传递是指将实参的地址作为形参传递。在Java中,在方法调用时,如果参数是对象类型,那么实参传递给形参的是对象地址的副本。也就是说,实参和形参指向同一块内存地址。 示例: public class Per…

    Java 2023年5月26日
    00
  • Win2003平台上jsp虚拟主机环境的架设(IIS6+J2SDK+resin)

    这里提供Win2003平台上jsp虚拟主机环境的架设攻略,该环境采用IIS6+J2SDK+Resin,具体步骤如下: 准备工作 下载并安装J2SDK(Java SE Development Kit) 下载Resin,并解压到指定目录下。 下载并安装IIS6。 安装Resin 进入Resin解压后的主目录,找到bin目录。 右键点击resin.exe,选择“以…

    Java 2023年6月15日
    00
  • java 键盘输入的多种实现方法

    关于“Java键盘输入的多种实现方法”的攻略,下面就给您详细介绍: 使用 Scanner 类的 next() 方法进行输入 Scanner 是一个内置于 JDK 的类,专门用于输入处理。首先需要导入 java.util.Scanner 类。 示例代码: import java.util.Scanner; public class KeyboardInputD…

    Java 2023年5月18日
    00
  • Java微信公众号开发之通过微信公众号获取用户信息

    Java微信公众号开发之通过微信公众号获取用户信息 简介 本文将详细讲解如何通过Java实现微信公众号获取用户信息细节,包括获取用户基本信息和获取关注者列表,最后提供两条常用的示例说明。 准备工作 在开始获取用户信息之前,你需要进行以下步骤的准备工作: 注册微信公众号,并获取关注者OpenID和Access Token. 创建Java Web服务器,并引入相…

    Java 2023年5月26日
    00
  • Java诊断工具的作用是什么?

    Java诊断工具是用于分析和调试Java应用程序性能及问题的工具。其主要作用包括: 监控Java应用程序的运行状况。 分析Java应用程序的性能瓶颈。 诊断Java应用程序的问题和异常。 使用Java诊断工具的过程如下: 一、确定问题并选择工具 首先,需要明确需要解决或分析的问题。根据问题的性质和场景选择相应的工具。Java诊断工具种类很多,比如常用的Jav…

    Java 2023年5月11日
    00
  • 详解IDEA用maven创建springMVC项目和配置

    以下是关于“详解IDEA用Maven创建SpringMVC项目和配置”的完整攻略,其中包含两个示例。 详解IDEA用Maven创建SpringMVC项目和配置 在使用SpringMVC框架开发Web应用程序时,使用Maven构建项目是一个非常好的选择。本文将介绍如何使用Maven和IDEA创建SpringMVC项目,并配置相关依赖和插件。 创建Maven项目…

    Java 2023年5月16日
    00
  • Java 超详细讲解ThreadLocal类的使用

    Java 超详细讲解ThreadLocal类的使用 什么是ThreadLocal? ThreadLocal是Java的一个线程封闭工具类,它允许当前线程存储和获取某个值,并且这个值对其他线程是不可见的。 通常情况下,我们需要共享数据之间遵循建议: 不可变的元素在任何情况下都是线程安全的。 可变的元素在并发情况下,应该遵循不同的访问方式,例如同步访问。 不可变…

    Java 2023年5月19日
    00
  • spring boot实现软删除的示例代码

    下面是Spring Boot实现软删除的完整攻略: 1. 理解软删除 首先需要了解软删除的概念和作用。软删除指的是不是真正删除数据,而是在数据库中新增一个状态字段,用于标记该数据是否被删除。这样可以保留数据完整性,同时又不会真正删除数据,方便数据恢复。 2. 实现示例1 我们以一个简单的用户信息管理为例进行讲解。首先创建一个用户实体类,包含id、用户名、密码…

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