JDBC之工具类封装一

🔥作者主页:疯狂行者🔥

💖简介:Java领域新星创作者🏆、【计算机源码之家】公号作者✌ 简历模板、学习资料、面试题库【关注我,都给你】💖

💖文末获取源码联系💖


前言

本次文章主要是介绍JDBC初学着封装

一、JDBC介绍

1.JDBC (Java DataBase Contectivity) Java与数据库的连接——数据库编程

2.JDBC 是Java语言(JDK)为完成数据库的访问操作提供的一套统一的标准。

二、JDBC步骤

在这里插入图片描述

三、具体实施

3.1 下载驱动

  1. 对应数据库匹配版本的驱动jar包
  2. Maven下载驱动地址
  3. 搜索MySQL

选择版本下载
MySQL数据库版本为5.x,驱动jar包建议使用5.1.47
MySQL数据库版本为8.x,驱动jar包建议使用8.0.x

3.2 原生工具类封装-封装MySQL连接以及关闭

//创建数据库连接四个参数
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/book?characterEncoding=utf8";
    private static final String USERNAEM = "root";
    private static final String PASSWORD = "root";

    //通过ThreadLocal管理事务
    private static ThreadLocal<Connection> local = new ThreadLocal<Connection>();

    //注册Mysql驱动,跟随类的加载而加载
    static {
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("注册驱动失败");
        }
    }

    //连接数据库
    public static Connection getConnection() {
        //从容器中获取连接
        Connection con = local.get();
        //判断没有连接,则创建
        if (con == null) {
            try {
                con = DriverManager.getConnection(URL, USERNAEM, PASSWORD);
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("数据库连接失败");
            }
            //将创建的连接放在容器中
            local.set(con);
        }
        return con;
    }

    //关闭数据库连接
    public static void closeConnection() {
        //从容器中获取连接
        Connection con = local.get();
        try {
            if (con != null && !con.isClosed()) {
                con.close();
            }
            local.remove();
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    //关闭Statement对象以及PreparedStatement对象
    public static void closeStatement(Statement statement) {
        closeStatement(null, statement);
    }

    //关闭Statement对象以及PreparedStatement对象、ResultSet对象
    public static void closeStatement(ResultSet resultSet, Statement statement) {
        try {
            if (resultSet != null && !resultSet.isClosed()) {
                resultSet.close();
            }
            if (statement != null && !statement.isClosed()) {
                statement.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("resultSet或者statement对象关闭失败");
        }
    }

    //连接数据库main方法测试
    public static void main(String[] args) {
        System.out.println(DBUtils.getConnection());
        ;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂行者

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值