经典的Java数据库连接类(适合初学者)

本文介绍了一种数据库连接管理类的设计,旨在减少开发者在不同类中重复编写数据库连接代码的情况,通过创建一个静态类来统一管理数据库连接,从而提高代码复用性和维护性。该类包括获取数据库连接、释放连接和预编译语句的方法,适用于初学者和有一定经验的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个比较经典的数据库连接类,很多初学者在每个类里面都写数据库连接,这样的话,如果你的数据库一变动,或者连接变动,你都要手动去更改每个类。

为了让大家少干点体力劳动,我特意编写了一个连接管理类,希望新鸟用的上吧,老鸟就飘过吧~!!!!!

import java.sql.*;

/**
 * <p>数据库连接管理类</p>
 * Created by 淘情网.
 * User: 吴红军.
 * Date: 11-12-26
 * Time: 下午10:31
 */
public class DBConn {
    private static String url = "jdbc:mysql://localhost:3306/jdbc";
    private static String user = "root";
    private static String password = "";

    private DBConn() {
    }

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new ExceptionInInitializerError(e);
        }
    }

    /**
     * 获取数据库连接
     * @return 数据库连接
     * @throws SQLException
     */
    public static Connection getConn() {
        try{
            return DriverManager.getConnection(url, user, password);
        }catch (SQLException e){
            throw new RuntimeException("获取连接错误!",e);
        }
    }

    /**
     * 释放连接和预编译语句
     * @param rs 结果集对象
     * @param st Statement对象
     * @param conn 连接对象
     */
    public static void free(ResultSet rs, Statement st, Connection conn) {
        try {
            if (rs != null)
                rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (st != null)
                    st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                if (conn != null)
                    try {
                        conn.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
            }
        }
    }
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值