使用Java编写控制JDBC连接、执行及关闭的工具类

yizhihongxing

下面我就给您详细讲解一下使用Java编写控制JDBC连接、执行及关闭的工具类的攻略。

什么是JDBC?

JDBC (Java Database Connectivity,Java数据库连接) 是一种用于执行 SQL 语句的 Java API,可以方便的访问各种关系型数据库。

JDBC连接数据库的步骤

JDBC连接数据库主要分成以下几个步骤:

  1. 加载数据库驱动: 通过使用Class.forName()方法来加载特定数据库驱动程序.

  2. 获取数据库连接: 驱动加载成功后,就可以通过 DriverManager 的 getConnection() 方法来获取一个数据库连接.

  3. 创建 Statement: 用于向数据库发送要执行的SQL语句并获取结果.

  4. 执行 SQL 语句并获取结果.

  5. 处理结果集: 根据不同的查询结果执行对应的操作.

  6. 关闭连接、释放资源.

编写工具类

基于上述步骤,我们可以编写一个控制JDBC连接、执行及关闭的工具类,如下:

import java.sql.*;

public class JDBCUtils {
    private static String url = "jdbc:mysql://<server>:<port>/<database>";
    private static String driverName = "com.mysql.jdbc.Driver";
    private static String username = "<username>";
    private static String password = "<password>";

    public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName(driverName);
            conn = DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }

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

在这个工具类中,我们定义了一个 getConnection() 方法用于获取数据库连接,以及一个 release() 方法用于关闭连接和释放资源。

其中,getConnection() 方法中,我们使用 Class.forName() 方法加载 MySQL 驱动,再使用 DriverManager.getConnection() 方法获取一个连接,其中 url 代表连接的地址,driverName 代表驱动名称,username 和 password 分别代表用户名和密码。

release() 方法中,我们按照 ResultSet -> Statement -> Connection 的顺序关闭连接,并通过判断是否为空来避免空指针异常。

示例说明

  1. 执行查询操作
import java.sql.*;

public class Test {
    public static void main(String args[]) {
        Connection conn = null;
        Statement st = null;
        ResultSet rs = null;

        try {
            conn = JDBCUtils.getConnection();
            st = conn.createStatement();
            rs = st.executeQuery("SELECT * FROM table_name");
            while (rs.next()) {
                String col1 = rs.getString(1);
                String col2 = rs.getString(2);
                System.out.println(col1 + " " + col2);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(conn, st, rs);
        }
    }
}

在这个示例中,我们先获取一个连接,再通过该连接创建 Statement 对象,执行查询 SQL,并通过 ResultSet 读取结果集。最后,我们通过 JDBCUtils 工具类中的 release() 方法关闭连接和释放资源。

  1. 执行插入操作
import java.sql.*;

public class Test {
    public static void main(String args[]) {
        Connection conn = null;
        Statement st = null;

        try {
            conn = JDBCUtils.getConnection();
            st = conn.createStatement();
            String sql = "INSERT INTO table_name (col1, col2) VALUES ('value1', 'value2')";
            int res = st.executeUpdate(sql);
            System.out.println("Inserted rows: " + res);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JDBCUtils.release(conn, st, null);
        }
    }
}

在这个示例中,我们先获取一个连接,再通过该连接创建 Statement 对象,执行插入 SQL 语句,最后通过 executeUpdate() 方法获取插入结果。最后,我们通过 JDBCUtils 工具类中的 release() 方法关闭连接和释放资源。

这就是使用Java编写控制JDBC连接、执行及关闭的工具类的完整攻略了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Java编写控制JDBC连接、执行及关闭的工具类 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • centos 6.5 oracle开机自启动的环境配置详解

    CentOS 6.5 Oracle 开机自启动的环境配置详解 本文将介绍在 CentOS 6.5 系统下如何配置 Oracle 数据库的开机自启动环境。 环境准备 在开始配置之前,请确保您已经满足以下基本环境要求: 已经安装了 CentOS 6.5 系统 已经安装了 Oracle 数据库 步骤一:创建启动脚本 在 /etc/init.d/ 目录下创建一个名为…

    database 2023年5月22日
    00
  • SSH的ssh-keygen命令基本用法详解

    下面我来详细讲解SSH的ssh-keygen命令基本用法。 什么是SSH? SSH(Secure Shell)是一种协议,用于在不安全的网络中为网络服务提供安全的加密通道,以防止窃听、数据篡改和身份伪装等攻击。 SSH-keygen命令是什么? ssh-keygen命令是SSH提供的生成和管理公钥、私钥对的工具命令,我们可以使用该命令生成公钥和私钥,并将公钥…

    database 2023年5月22日
    00
  • mysql的日期和时间函数大全第1/2页

    MySQL的日期和时间函数攻略 MySQL提供了很多丰富的日期和时间函数,这些函数可以用于处理日期和时间数据,在开发过程中十分重要。下面是MySQL的日期和时间函数清单: 日期函数 CURDATE() 返回当前日期。它没有参数并且返回 DATE 类型值。 SELECT CURDATE(); — 2021-06-28 NOW() 返回当前日期和时间。它没有参…

    database 2023年5月22日
    00
  • Oracle递归查询简单示例

    概念与语法 Oracle递归查询即使用“WITH RECURSIVE”语句进行的递归查询。其基本语法如下所示: WITH RECURSIVE subquery_name [(column_name[, column_name]…)] AS ( initial_query UNION [ALL|DISTINCT] recursive_query ) SEL…

    database 2023年5月21日
    00
  • sqlsever2019文件创建与变量示例

    下面是关于“SQL Server 2019文件创建与变量示例”的详细攻略: SQL Server 2019文件创建与变量示例 文件创建 在SQL Server中,我们可以通过以下语句来创建文件: USE [master] GO CREATE DATABASE [TestDB] CONTAINMENT = NONE ON PRIMARY ( NAME = N’…

    database 2023年5月21日
    00
  • python 连接数据库mysql解压版安装配置及遇到问题

    Python 连接 MySQL 解压版安装配置及遇到问题 安装MySQL 首先需要先下载 MySQL,网址为 https://www.mysql.com/downloads/ 。 在页面中选择“MySQL Community Server”,下载并解压到本地。 安装Python 如果还未安装 Python,可以前往 https://www.python.or…

    database 2023年5月21日
    00
  • CentOS 7下安装PostgreSQL 9.6的教程分享

    下面我将为您详细讲解“CentOS 7下安装PostgreSQL 9.6的教程分享”。 安装PostgreSQL 9.6的步骤 安装PostgreSQL 9.6及相关依赖包 执行以下命令,更新系统软件包: sudo yum update 执行以下命令,安装PostgreSQL 9.6及其相关依赖包: sudo yum install -y postgresq…

    database 2023年5月22日
    00
  • LNMP环境下安装Redis,以及php的redis扩展

    1.下载 sudo wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压 sudo tar zvxf redis-4.0.9.tar.gz 3.重命名 sudo mv redis-4.0.9/ redis 4.编译 cd redis sudo make sudo make test su…

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部