java的jdbc简单封装方法

下面是完整的“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面试题目集锦攻略 1. 概述 本文主要讲解如何通过Java面试题目集锦来提高自己的Java知识和应对面试的能力。Java面试题目集锦是一本经典的Java面试题目集合,在学习Java或准备Java面试时都是非常重要的参考资料。本文将结合自己的学习经验和搜索资料的经验,给大家分享一些从中学习的技巧和方法。 2. 学习方法 2.1. 完整阅读 首先,我们需…

    Java 2023年5月23日
    00
  • Hibernate的一对一,一对多/多对一关联保存的实现

    Hibernate是一种优秀的ORM框架,它能够有效地使Java应用程序与数据库交互。在Hibernate中,实体之间的关系是通过映射关系来维护的,在映射关系中,一对一、一对多和多对一是最为常见的关系类型。本文将详细讲解Hibernate的一对一、一对多/多对一关联保存的实现全过程。 一对一关系保存实现 首先我们需要定义两个实体类,分别代表两个具有一对一关系…

    Java 2023年5月19日
    00
  • java编程常用技术(推荐)

    Java编程常用技术(推荐) 在Java编程中,有一些常用的技术和工具,这些技术和工具可以帮助开发者提高编程效率、降低编程难度和优化程序性能。以下是本文推荐的Java编程常用技术: 1. 集合框架 Java集合框架提供了一系列的数据结构和算法,可以帮助开发者存储和操作不同类型的数据。集合框架分为三个层次:接口、实现和算法。接口层次定义了所有的集合类应该有的方…

    Java 2023年5月30日
    00
  • Java实现一致性Hash算法详情

    Java实现一致性Hash算法 什么是一致性哈希算法? 一致性哈希算法是一种分布式哈希算法,常用于分布式缓存、分布式数据库等场景,主要解决如何有效地将请求路由到不同的服务器,从而提高系统性能。 一致性哈希算法的原理 一致性哈希算法将每个资源映射到一个二维环上,即将环划分为若干个虚拟节点。当有新的数据需要放入缓存中时,首先将该数据哈希成一个数字,然后将该数字映…

    Java 2023年5月19日
    00
  • 详解maven配置多仓库的方法示例

    下面是详解maven配置多仓库的方法示例的攻略。包含以下内容: 配置的基本概念 配置方式示例一:配置私有maven仓库 配置方式示例二:配置多个maven中心仓库 配置的基本概念 Maven的依赖系统是基于仓库的概念实现的,即Maven插件会到某个公共或私有仓库中查找外部依赖包,比如我们常见的jcenter、mavenCentral仓库等。从而减少了开发者的…

    Java 2023年5月19日
    00
  • java生成可执行文件(制作可执行文件)

    Java是一门需要在JAVA虚拟机(JVM)上运行的语言,因此Java源代码无法直接转化为Windows或Linux操作系统上的可执行文件。不过,Java提供了一个工具——Java打包工具(jar工具),你可以使用它将Java代码、构成代码所需的依赖文件(如类库)、配置文件等打包成一个可执行的jar文件。接下来是我们提供的java生成可执行文件(制作可执行文…

    Java 2023年5月19日
    00
  • Java收集的雪花算法代码详解

    Java收集的雪花算法代码详解 什么是雪花算法? 雪花算法是一种能够帮助我们生成唯一ID的算法,由Twitter公司开发并在2010年开源。该算法的特点是高并发下不重复,适合在分布式系统中作为唯一ID的生成器。使用雪花算法可以有效减少分布式系统中因ID冲突造成的问题。 雪花算法的实现方式 雪花算法的实现方式如下: 首先,雪花算法规定了一个64位的二进制数, …

    Java 2023年5月19日
    00
  • servlet之web路径问题_动力节点Java学院整理

    当开发Servlet时,我们通常会遇到一些Web路径相关的问题,这篇攻略将会详细讲解这些问题,并提供相应的解决方法。 1. Servlet中的Web路径问题 在Servlet中,一般涉及到两种类型的Web路径:绝对路径和相对路径。在处理这些路径时,我们需要了解以下内容: Web应用的根路径 Servlet映射路径 Servlet所在的包路径 1.1 Web应…

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