JDBC 工具类 - 02

JDBC 工具类 Ⅱ

2. 工具类实现
2.1 数据库连接演示
package com.qfedu.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * JDBC第一个代码, 连接数据库演示
 *
 * @author LongMaple
 */
public class Demo1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 1. 加载驱动,让Java程序具备连接数据库的能力
        // com.mysql.jdbc.Driver 第三方Jar提供的数据库连接使用驱动
        Class.forName("com.mysql.jdbc.Driver");

        // 2. 准备数据库连接使用URL
        String url = "jdbc:mysql://localhost:3306/javaee2011";

        // 3. 准备数据库连接所需的用户名和密码,二者皆是String字符串类型
        String user = "root";
        String password = "feng2020";

        Connection connection = DriverManager.getConnection(url, user, password);

        //5.展示连接对象信息
        System.out.println(connection);

        // 6. 关闭资源
        connection.close();
    }
}

2.2 JdbcUtil工具类第一版
package util;

import java.sql.*;
/**
 * 1,数据库对象获取功能
 * 2. 数据库资源关闭功能
 *
 * @author LongMaple
 */
public class JbdcUtil {
    //准备静态成员变量用于保存数据库连接使用的资源内容
    private static String driverClass = "com.mysql.jdbc.Driver";
    private static String jdbcUrl = "jdbc:mysql://localhost:3306/javaee2011?useSSL=false";
    private static String username = "root";
    private static String password = "feng2020";

    //利用静态代码块在类文件加载阶段一定会执行的特征,自动加载当前数据库连接所需驱动
    static {
        //这里会报一个异常,我们捕获一下
        try {
            Class.forName(driverClass);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    /**
     * JDBC工具类获取数据连接对象方法。如果用户提供的数据库连接信息有误,返回null
     *
     * @return java.sql.Connection对象,如果信息有误,返回null
     */
    public static Connection getConnection() {
        Connection connection = null;

        try {
            connection = DriverManager.getConnection(jdbcUrl, username, password);
        } catch (SQLException e) {
            // 后期可以使用日志来记录操作错误情况。
            e.printStackTrace();
        }
        //这里返回值 connection
        return connection;
    }

    /**
     * 对外提供关闭数据库连接对象方法
     *
     * @param conn java.sql.Connection数据库连接对象
     */
    public static void close(Connection conn) {
        close(conn, null, null);
    }

    /**
     * 对外提供关闭数据库和数据库表搬运工对象方法
     *
     * @param conn java.sql.Connection 数据库连接对象
     * @param st   java.sql.Statement 数据库搬运工对象
     */
    public static void close(Connection conn, Statement st) {
        close(conn, null, null);
    }

    /**
     * 对外提供关闭数据库,数据库表搬运工对象以及数据库查询结果集对象方法
     *
     * @param conn java.sql.Connection 数据库连接对象
     * @param st   java.sql.Statement 数据库搬运工对象
     * @param rs   java.sql.ResultSet 数据库查询结果集对象
     */
    public static void close(Connection conn, Statement st, ResultSet rs) {
        try {
            close(rs, st, conn);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void close(AutoCloseable... res) throws Exception {
        for (AutoCloseable re : res) {
            if (re != null) {
                re.close();
            }
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值