java的jdbc简单封装方法

yizhihongxing

下面是完整的“java的jdbc简单封装方法”的攻略。

背景介绍

Java连接数据库可以使用JDBC API实现。但是,JDBC API的一些操作非常繁琐,比如数据库连接的建立和关闭、一些查询操作和结果集的处理等。这些繁琐的操作增加了我们代码的复杂度。考虑此问题,我们可以对JDBC API进行简单封装来降低代码的复杂度。

简单封装实现

步骤1:引入依赖

我们需要引入 JDBC 驱动程序依赖,这里以 MySQL 为例。

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

步骤2:定义封装类

定义一个类,封装JDBC操作,我们可以将代码中常用的操作封装到这个类中,这样就可以屏蔽掉之前提到的一些繁琐的操作。下面是一个简单的例子,我们封装了JDBC操作中的连接打开、关闭、查询和更新语句执行功能。

import java.sql.*;

public class JdbcUtils {
    private static final String URL = "jdbc:mysql://localhost:3306/test_db";
    private static final String USER_NAME = "root";
    private static final String PASSWORD = "123456";
    private static Connection conn;

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() {
        return conn;
    }

    public static void close(Connection conn, PreparedStatement pstmt, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (pstmt != null) {
                pstmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static ResultSet query(String sql, Object... params) throws SQLException {
        PreparedStatement pstmt = conn.prepareStatement(sql);
        if (params != null) {
            for (int i = 0; i < params.length; i++) {
                pstmt.setObject(i + 1, params[i]);
            }
        }
        return pstmt.executeQuery();
    }

    public static int update(String sql, Object... params) throws SQLException {
        PreparedStatement pstmt = conn.prepareStatement(sql);
        if (params != null) {
            for (int i = 0; i < params.length; i++) {
                pstmt.setObject(i + 1, params[i]);
            }
        }
        return pstmt.executeUpdate();
    }
}

步骤3:使用封装类

在需要使用JDBC操作时,只需要调用封装类中的方法就可以了。下面是两个简单的例子,一个是查询操作,另一个是更新操作。

查询

public class TestQuery {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            conn = JdbcUtils.getConnection();
            String sql = "SELECT * FROM users WHERE username = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "Tom");
            rs = JdbcUtils.query(sql, "Tom");
            while (rs.next()) {
                System.out.println(rs.getString("username") + " " + rs.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JdbcUtils.close(conn, pstmt, rs);
        }
    }
}

更新

public class TestUpdate {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = JdbcUtils.getConnection();
            String sql = "UPDATE users SET password = ? WHERE username = ?";
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "123456");
            pstmt.setString(2, "Tom");
            int result = JdbcUtils.update(sql, "123456", "Tom");
            System.out.println(result);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JdbcUtils.close(conn, pstmt, null);
        }
    }
}

总结

本文介绍了如何利用封装技术来简化 JDBC API 的使用,封装后的代码更加简洁易读,可以提高开发效率。通过以上示例的讲解,相信大家已经掌握了 jdbc 的简单封装方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java的jdbc简单封装方法 - Python技术站

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

相关文章

  • java基础的详细了解第九天

    Java基础的详细了解第九天的攻略如下: 一、集合框架 集合框架是Java中非常重要的一部分内容,也是开发Java应用程序必不可少的一部分。集合框架主要由三个接口和13个类组成,我们需要熟练掌握各个类的使用方法,包括:ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap 等。 1. ArrayList Ar…

    Java 2023年5月26日
    00
  • Spring interceptor拦截器配置及用法解析

    下面是“Spring interceptor拦截器配置及用法解析”的完整攻略。 1. 什么是 Spring Interceptor Spring Interceptor是一个在Spring MVC框架中,拦截处理程序请求、处理程序响应或者处理程序处理过程中发生的事件。拦截器与过滤器类似,但是更加灵活。它们能够获取请求的详细信息,包括请求的URI、请求的方法等…

    Java 2023年5月31日
    00
  • jsp hibernate的分页代码

    让我为你详细讲解一下jsp hibernate的分页代码攻略。 1. 准备工作 在开始编写分页代码之前,我们需要先进行一些准备工作: 首先,需要在项目中添加hibernate和相关的依赖库,可以使用maven等工具进行导入。 示例如下: xml <dependency> <groupId>org.hibernate</group…

    Java 2023年5月31日
    00
  • java list与数组之间的转换详细解析

    Java List与数组之间的转换详细解析 在Java中,List是常用的数据结构之一,而数组也是Java中常用的数据结构。我们有时候需要在它们之间进行转换,本文将详细讲解Java List与数组之间的转换攻略。 1. 将List转换为数组 将List转换成数组需要注意以下几点: 首先,需要确定要转换的List的元素类型; 其次,需要创建一个与List元素类…

    Java 2023年5月26日
    00
  • Java enum的用法详细介绍及实例代码

    Java中的枚举类型是一种特殊的类,它具有固定数量和固定名称的常量。枚举类型可以让代码更加清晰易懂,避免了使用数字或字符串表示常量时出现的错误。 声明枚举类型 在Java中,声明枚举类型需要使用关键字enum。下面是一个最简单的例子: enum Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, S…

    Java 2023年5月23日
    00
  • JavaWeb开发使用Cookie创建-获取-持久化、自动登录、购物记录、作用路径

    针对JavaWeb开发中关于Cookie的创建、获取和持久化、自动登录、购物记录、作用路径等问题,下面是一个完整的攻略: 什么是Cookie 在Web开发中,Cookie是存储于客户端的一种数据,它允许Web服务器向客户端的浏览器发送HTTP响应,在浏览器中存储这些数据,而之后浏览器向同一个域发送请求时会自动携带相关的Cookie数据,以此实现数据持久化。 …

    Java 2023年6月16日
    00
  • Spring框架学习之Cache抽象详解

    Spring框架学习之Cache抽象详解 什么是Cache抽象 Cache 抽象是 Spring 框架为了简化缓存的使用而提供的一种抽象层,它定义了 Spring 缓存的公共 API,并且提供了对不同缓存系统的支持。通过在 Cache 抽象上编程,应用程序开发人员可以将其应用程序代码与底层缓存实现解耦,从而使系统更加可维护和可扩展。 Cache 抽象的核心接…

    Java 2023年5月19日
    00
  • SpringBoot配置和切换Tomcat流程详解

    关于SpringBoot配置和切换Tomcat的流程,我来为您详细讲解。 1. SpringBoot 配置 Tomcat 的默认端口 SpringBoot默认使用的Tomcat端口是8080,可以通过在配置文件中配置server.port来修改端口号,例如设置为8090端口,只需要按照以下步骤操作: 打开配置文件application.properties或…

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