03-封装JDBCUtils工具类获取Connection连接对象

2023-12-03 21:52

本文主要是介绍03-封装JDBCUtils工具类获取Connection连接对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

封装JDBCUtils工具类

直接配置连接参数的方式

创建JDBC的工具类简化JDBC编程,工具类当中的方法都是静态的,不需要new对象直接采用类名调用

package com.bjpowernode.jdbc.utils;
import java.sql.*;
public class DBUtil {// 工具类中的构造方法都是私有的可以防止new对象private DBUtil() {}// 静态代码块在类加载时执行并且只执行一次static {try {// 执行代码可能出现异常直接捕捉Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}/*** 获取数据库连接对象* @return 连接对象* @throws SQLException*/public static Connection getConnection() throws SQLException {// 执行这行代码可能会出现异常,将其抛出并在JDBC代码中捕捉return DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode", "root", "333");}/*** 关闭资源,由小到大,如果需要关闭哪个资源就传入对应的对象,不需要关闭就传入null* @param conn 连接对象* @param ps 数据库操作对象* @param rs 结果集*/public static void close(Connection conn, Statement ps, ResultSet rs){if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(ps != null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(conn != null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}

使用配置文件的方式

在实际开发中可以将编译异常转成运行异常,这样调用者既可以选择捕获该异常也可以按照默认方式处理该异常

// 定义数据库连接信息的相关属性,因为只需要一份可以使用static修饰
private static String user; //用户名
private static String password; //密码
private static String url; //url
private static String driver; //驱动名
static {try {Properties properties = new Properties();properties.load(new FileInputStream("src\\mysql.properties"));// 读取配置文件中的相关属性值user = properties.getProperty("user");password = properties.getProperty("password");url = properties.getProperty("url");driver = properties.getProperty("driver");Class.forName(driver);} catch (IOException e) {//将编译异常转成运行异常throw new RuntimeException(e);}
}// 连接数据库返回Connection对象
public static Connection getConnection() {try {return DriverManager.getConnection(url, user, password);} catch (SQLException e) {// 将编译异常转成运行异常throw new RuntimeException(e);}
}

使用工具类后的基本骨架

public class JDBCTest12 {public static void main(String[] args) {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {// 获取连接conn = DBUtil.getConnection();// 获取预编译的数据库操作对象} catch (Exception e) {e.printStackTrace();} finally{// 释放资源DBUtil.close(conn, ps, rs);}}
}

这篇关于03-封装JDBCUtils工具类获取Connection连接对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/451003

相关文章

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

C#之List集合去重复对象的实现方法

《C#之List集合去重复对象的实现方法》:本文主要介绍C#之List集合去重复对象的实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C# List集合去重复对象方法1、测试数据2、测试数据3、知识点补充总结C# List集合去重复对象方法1、测试数据

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau