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

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实现基于JDBC操作mysql数据库的方法

    下面我将详细讲解Java实现基于JDBC操作mysql数据库的方法的完整攻略,包括如何连接数据库、执行SQL语句、关闭资源等步骤。 1. 引入JDBC的依赖 在Java程序中使用JDBC操作mysql数据库,需要引入mysql-connector-java的依赖。可以在Maven中添加如下依赖: <dependency> <groupId&…

    Java 2023年5月19日
    00
  • Java中两种基本的输入方式小结

    Java中有两种基本的输入方式,分别为键盘输入和文件输入。以下是两种方式的详细讲解。 键盘输入 1. 使用Scanner类 使用Scanner类可以很方便地接受键盘输入。示例如下: import java.util.Scanner; public class KeyboardInput { public static void main(String[] a…

    Java 2023年5月26日
    00
  • jsp response.sendRedirect()用法详解

    JSP response.sendRedirect()用法详解 在JSP开发中,经常需要进行页面的跳转。其中,最常用的跳转方法是 response.sendRedirect()。本文将对 response.sendRedirect() 方法进行详细讲解,包括使用场景、语法、注意事项以及示例说明等内容。 一、使用场景 response.sendRedirect…

    Java 2023年6月15日
    00
  • Java中ShardingSphere 数据分片的实现

    非常感谢您对“Java中ShardingSphere 数据分片的实现”的关注。下面是大致的攻略: 1. 什么是ShardingSphere ShardingSphere是一个开源的分布式数据库中间件解决方案,提供数据库分片、分布式事务、数据治理等功能。它由Apache ShardingSphere孵化经过一年多的孵化过程,于2021年2月正式成为Apache…

    Java 2023年5月20日
    00
  • java String的intern方法

    针对您提出的问题,以下是Java String类中的intern()方法的详细回答。 一、什么是intern方法 Java中的String是不可变的,这意味着每当我们对String变量进行更改时,会创建新的String实例。许多String实例可能会具有相同的值。由于String在Java中很常见,因此频繁创建String对象的操作可能会非常昂贵,从而导致性…

    Java 2023年5月26日
    00
  • java Struts2 在拦截器里的跳转问题

    针对“java Struts2 在拦截器里的跳转问题”的完整攻略,我来逐步讲解及演示示例。 1. Struts2 拦截器介绍 Struts2 是一个由 Apache 组织推出的开源的 JavaEE Web 应用框架。在构建应用时,Struts2 利用了一种称为拦截器(Interceptor) 的机制,以实现动态地改变应用程序处理请求的流程。简单来说,拦截器是…

    Java 2023年5月19日
    00
  • 面试题:Java 实现查找旋转数组的最小数字

    Java 实现查找旋转数组的最小数字 什么是旋转数组 旋转数组指的是按照某个位置将一个有序数组分成左右两个部分,并交换这两个部分的位置而形成的新的数组。例如,原始数组为 [1, 2, 3, 4, 5], 将其按照位置 3 进行旋转,得到的旋转数组为 [4, 5, 1, 2, 3]。 如何查找旋转数组的最小数字 旋转数组中的最小数字就是数组中最小的数。由于数组…

    Java 2023年5月26日
    00
  • 浅谈maven的jar包和war包区别 以及打包方法

    下面就是关于“浅谈maven的jar包和war包区别 以及打包方法”的完整攻略。 什么是Maven Maven是一个Java项目的自动化构建工具,可以帮助我们自动化地完成项目构建、打包、依赖管理等工作。 jar包和war包的区别 Maven中的jar包和war包是两种不同的打包方式。jar包是Java程序的一种标准的JAR文件格式,一般用于打包Java类库、…

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