JDBC工具类封装

2023-11-17

jdbc工具类的封装:

package com.hyc.study02.utils;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;

public class JDBCUtils {
    private static String driver = null;
    private static String url = null;
    private static String username = null;
    private static String psw = null;

    static {
        try {
            InputStream inputStream = JDBCUtils.class.getClassLoader().getResourceAsStream("db.properties");
            Properties properties = new Properties();
            properties.load(inputStream);

            driver = properties.getProperty("driver");
            //2、获取用户信息、url
            url = properties.getProperty("url");
            username = properties.getProperty("username");
            psw = properties.getProperty("psw");
            //驱动只用加载一次
            //1、加载驱动
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    //获取连接
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url, username, psw);
    }

    //释放连接
    public static void release(Connection connection, Statement statement, ResultSet resultSet) {
        if (resultSet != null) {
            try {
                resultSet.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        if (connection != null) {
            try {
                connection.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
}

插入数据测试:

package com.hyc.study02;
import com.hyc.study02.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestInsert {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            //3、获取数据库连接
            connection = JDBCUtils.getConnection();

            //4、创建执行sql的对象
            statement = connection.createStatement();

            //5、执行sql语句
            //6、返回执行结果集
            String sql = "INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`) " +
                    "VALUES (4,'hyc','123456','1404733494@qq.com','2022-04-18')";
            int num = statement.executeUpdate(sql);
            if (num > 0) {
                System.out.println("插入数据成功!");
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            //7、释放连接
            JDBCUtils.release(connection, statement, resultSet);
        }
    }
}

删除数据测试:

package com.hyc.study02;
import com.hyc.study02.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestDelete {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //3、获取数据库连接
            connection = JDBCUtils.getConnection();

            //4、创建执行sql的对象
            statement = connection.createStatement();

            //5、执行sql语句
            //6、返回执行结果集
            String sql = "DELETE FROM `users` WHERE id=4";
            int num = statement.executeUpdate(sql);
            if (num > 0) {
                System.out.println("删除数据成功!");
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            //7、释放连接
            JDBCUtils.release(connection, statement, resultSet);
        }
    }
}

修改数据测试:

package com.hyc.study02;
import com.hyc.study02.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestUpdate {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //3、获取数据库连接
            connection = JDBCUtils.getConnection();

            //4、创建执行sql的对象
            statement = connection.createStatement();

            //5、执行sql语句
            //6、返回执行结果集
            String sql = "UPDATE `users` SET `NAME`='zxzb',`email`='1135656@qq.com' WHERE `id`=1";
            int num = statement.executeUpdate(sql);
            if (num > 0) {
                System.out.println("更新数据成功");
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            //7、释放连接
            JDBCUtils.release(connection, statement, resultSet);
        }
    }
}

查询数据测试:

package com.hyc.study02;
import com.hyc.study02.utils.JDBCUtils;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestSelect {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            //3、获取数据库连接
            connection = JDBCUtils.getConnection();

            //4、创建执行sql的对象
            statement = connection.createStatement();

            //5、执行sql语句
            //6、返回执行结果集
            String sql = "SELECT * FROM `users` WHERE id=1";
            resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                System.out.println(resultSet.getInt("id"));
                System.out.println(resultSet.getString("NAME"));
                System.out.println(resultSet.getString("PASSWORD"));
                System.out.println(resultSet.getString("email"));
                System.out.println(resultSet.getDate("birthday"));
            }
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            //7、释放连接
            JDBCUtils.release(connection, statement, resultSet);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC工具类封装 的相关文章

随机推荐

  • Node.JS学习笔记: 基础篇

    基础概念 三大件 浏览器 服务器 数据库 1 浏览器 在这里主要是关注浏览器的作用是发送请求 比如发送一个HTTP请求 喂 把 index html的文档发给我 至于如何发送请求 服务器又如何处理请求 这方面需要HTTP TCP IP的知识
  • 95-30-012-Channel-AbstractNioChannel

    文章目录 1 概述 2 类图 3 NioUnsafe 4 AbstractNioChannel 4 1 Connect事件框架 4 2 FinishConnect事件框架 4 3 Flush事件细节 4 4 构造方法 4 5 doRegis
  • 系统变量

    系统变量 由 操作系统定义的数据存储位置 无论谁登录该计算机 该位置都相同 Administrators 组的用户可以添加新的变量或更改这些值 编辑本段变量设置实例 格式 变量名 实际含义 homedrive 当前启动的系统的所在分区 一般
  • Android路由方案ARouter分析

    一 路由方案 原生的路由方案缺点 显式 直接的类依赖 耦合严重 隐式 规则集中式管理 协作困难 Manifest扩展性较差 跳转过程无法控制 失败无法降级 ARouter的优势 使用注解 实现了映射关系自动注册 与 分布式路由管理 编译期间
  • Python 异常处理指南

    异常处理是编写健壮的 Python 程序时不可或缺的一部分 当程序运行中发生错误时 异常处理机制可以捕获并处理这些错误 从而保证程序的稳定性和可靠性 本文将为您介绍 Python 中的异常处理机制 并提供一些常见的异常处理技巧和示例代码 异
  • git init报错:‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    背景 已经安装git 但是使用命令行git init的时候 报错 git 不是内部或外部命令 也不是可运行的程序 或批处理文件 原因 因为没有成功配置环境变量 所以我们要手动添加一个环境变量 解决方法 1 在桌面找到此电脑 右键 选择 属性
  • 并发控制五(封锁的粒度)

    封锁对象的大小称为封锁粒度 封锁对象可以是逻辑单元 也可以是物理单元 以关系数据库为例 封锁对象可以是这样一些逻辑单元 属性值 属性值的集合 元组 关系 索引项 整个索引直至整个数据库 也可以是这样一些物理单元 页 数据页或索引页 物理记录
  • CentOS7安装部署wordpress

    环境介绍 CentOS7 3安装部署wordpress 本环境主机运行在阿里云 部署方式为单节点部署 主机配置 系统 CentOS7 3 mini CPU 1核 内存 1GB 硬盘 60G 外网带宽 1Mbs 一 配置主机名 root lo
  • mysql explain ref const_MySQL EXPLAIN 详解

    一 介绍 EXPLAIN 命令用于SQL语句的查询执行计划 这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL 语句的 这条命令并没有提供任何调整建议 但它能够提供重要的信息帮助你做出调优决策 先解析一条sql语句 你可以看
  • pytorch 实现LSTM

    Pytorch基础知识点整理 梯度 下降 coding utf 8 from math import pi import torch import torch optim x torch tensor pi 3 pi 6 requires
  • js数组不同类型元素去重

  • Ubuntu 16.04 服务器安装 hadoop3.1.2

    1 事前准备 1 相关配置信息 仅供参考 ubuntu版本为16 04服务器版 服务器配置为1核2GB hadoop版本我选择hadoop3 1 2 2 相关资源获取 服务器可选择国内的腾讯云和阿里云 也可以选择华为云 任君喜好 系统的话在
  • 校园社区app

    此项目是面向在校大学生开发的一个集预约购物 组织活动 实事热帖于一体的社区app 前后台交互数据采用的是json数据格式 网络请求采用的是volley 后台采用mysql数据库 如果有写的不好的地方还望大家指正 主要功能为 预约购物 组织活
  • DataGrip 2022.2.2 Unknown column ‘generation_expression‘ in ‘field list‘

    安装DataGrip 2022 2 2 连接本地数据库 编写脚本时发现无法自动提示数据库表字段 搜索结果 都是在连接属性 Options Introspection using JDBC metadata 在此版本没有发现此选项 查找发现在
  • undefined、null、isNan

    null 和 undefined的区别 在用法上几乎没有区别 if undefined console log undefined is false undefined is false if null console log null i
  • [电动智能汽车-7]:汽车CAN总线详解

    目录 第1章 CAN总线概述 1 1 概述 1 2 发展历史 1 3 标准化 1 4 底层标准 1 5 上层标准 1 6 总线特点 1 7 CAN总线分类 1 8 应用 1 9 局限性 第2章 电路基础 2 1 硬件拓扑 2 2 收发器 2
  • 【微信小程序】小程序点击图片放大(图片预览)

    这个强大的API wx previewImage 嘿嘿嘿 接下来我们来讲一下微信小程序中图片点击放大预览的实现步骤 思路 1 点击事件 2 放大 3 左右滑动查看上 下一张 在绑定点击事件的时候我们需要同时获取到点击图片的url和这一组数据
  • linux 信号传递参数,Qt 信号槽如何传递参数(或带参数的信号槽)

    信号槽如何传递参数 或带参数的信号槽 利用Qt进行程序开发时 有时需要信号槽来完成参数传递 带参数的信号槽在使用时 有几点需要注意的地方 下面结合实例进行介绍 第一点 当信号与槽函数的参数数量相同时 它们参数类型要完全一致 signals
  • 不死神兔详细解释及解题,看不懂算我输

    不死神兔 不死神兔也叫做斐波那契数列或者叫做黄金分割数列或者叫做兔子数列 不死神兔问题 有1对兔子 从出生后的第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月 又生一对兔子 假如兔子都不死 问第n个月有几对兔子 需求 我们这里需要知
  • JDBC工具类封装

    jdbc工具类的封装 package com hyc study02 utils import java io InputStream import java sql import java util Properties public c