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工程师进阶之MyBatis延迟加载的使用

    Java工程师进阶之MyBatis延迟加载的使用攻略 MyBatis是Java中常用的一款ORM框架,它能够简化Java与关系型数据库的交互,提高工作效率。MyBatis在优化查询性能方面表现尤为突出,其中延迟加载技术尤为重要。本篇攻略将重点介绍MyBatis中的延迟加载技术的使用方法及技巧。 什么是MyBatis的延迟加载 MyBatis的延迟加载(Laz…

    Java 2023年5月20日
    00
  • Maven 的配置文件路径读取方法

    Maven 是一个流行的 Java 项目管理工具,它有一个核心的配置文件 pom.xml,用于管理项目的依赖、插件、构建目标等。除此之外,Maven 还有一些配置文件用于设置全局属性或指定仓库的位置等信息。下面我们来详细讲解 Maven 的配置文件路径读取方法。 1. Maven 配置文件路径 Maven 的配置文件路径分为两种类型:全局配置和用户配置。 全…

    Java 2023年5月20日
    00
  • Java实现按行读取大文件

    对于Java实现按行读取大文件,其主要思路是使用BufferedReader类和FileReader类来实现。具体步骤如下: 1.使用FileReader读取大文件 FileReader类可以一次读取大量文件内容,将其存入缓存区中。我们可以通过创建FileReader对象并将文件对象传递到它的构造函数中,来实现读取大文件的目的。 FileReader fil…

    Java 2023年5月20日
    00
  • JavaWeb之Filter过滤器详解

    下面是“JavaWeb之Filter过滤器详解”的完整攻略: 一、Filter过滤器概述 1.1 过滤器基本介绍 Filter是JavaWeb中非常重要的一个概念,可以用于拦截请求、修改响应内容等操作。在Web服务器中,Filter的位置位于Servlet容器和客户端浏览器之间,每个Web应用程序(Web App)都可以定义若干个Filter,用于完成特定的…

    Java 2023年6月15日
    00
  • jQuery Validate验证框架经典大全

    jQuery Validate验证框架是一款针对网页表单验证的插件,它能够轻松实现对用户输入数据的有效性验证和错误提示,并且可轻松定制化。 安装jQuery Validate 安装 jQuery Validate 需要在Web项目中引入jQuery和jQuery Validate插件的代码,如下所示: <head> <script src=…

    Java 2023年6月15日
    00
  • Json在Struts中的转换与传递方法

    下面是详细讲解“Json在Struts中的转换与传递方法”的完整攻略。 什么是Json Json(JavaScript Object Notation)是一种轻量级的数据交换语言,具备易读性、易于编写和解析的特点。在Web开发中,Json经常作为数据交换格式来传输数据,比如当调用Ajax请求时,可以通过Json的方式将数据以数据格式的形式传输到前台。 Jso…

    Java 2023年5月20日
    00
  • Java 内置Http Server构建web应用案例详解

    我来详细讲解一下如何使用Java内置Http Server构建Web应用的攻略。 1. 前置知识 在学习Java内置Http Server构建Web应用之前,需要掌握以下技能: Java基础语法 Maven项目构建和管理 HTTP协议的基础知识 Servlet和JSP技术的基础知识 2. 环境搭建 为了使用Java内置Http Server构建Web应用,我…

    Java 2023年5月19日
    00
  • Spring的初始化和XML解析的实现

    下面我就来详细讲解一下Spring的初始化和XML解析的实现攻略。 Spring的初始化 Spring的初始化可以分为两步: 加载配置文件 实例化对象 加载配置文件 在Spring初始化的过程中,首先会加载XML配置文件并创建IoC容器。Spring的XML配置文件默认命名为applicationContext.xml,当然也可以自定义文件名。 Spring…

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