封装 JDBC 工具类

封装jdbc——工具类JdbcUtils JdbcUtils工具类 1.为什么要对jdbc技术进行封装为工具类JdbcUtils?有什么好处? 在用java操纵数据库时,每次都要写java连接数据库的代码,一条sql语句伴随着大量连接数据库的java代码,这样会使代码冗余度高,代码的可读性和观赏性都变得很差,如果将通用的代码转换为静态方法—>封装成一个工具类JdbcUtils,这样每次需要什么功能只需要调用相应的方法,既提高了代... 阅读详情

JDBC 封装

  使用 JDBC 连接 MySQL 数据库,我们每次操作都要写一堆连接数据库的信息,操作完还要释放一堆资源,做了很多重复的工作,于是我们通常把数据库连接封装成工具类。

JdbcUtils 类

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import java.sql.*;

/**
 * @author Acx7
 */
public class JdbcUtils {
    private static String username = null;
    private static String password = null;
    private static String url = null;

    static {
        try {
            // 加载配置文件
            Properties properties = new Properties();
            properties.load(new FileInputStream("resources/db.properties"));
            // 获取配置文件信息
            String driver = properties.getProperty("driver");
            username = properties.getProperty("username");
            password = properties.getProperty("password");
            url = properties.getProperty("url");
            // 加载驱动
            Class.forName(driver);
        } catch (ClassNotFoundException | IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取连接对象
     */
    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url, username, password);
    }
    
    /**
     * 释放资源
     */
    public static void close(Statement ps, Connection conn) {
        close(null, ps, conn);
    }

    /**
     * 释放资源
     */
    public static void close(ResultSet rs, Statement ps, Connection conn) {
        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();
            }
        }
    }
}

配置文件

driver=com.mysql.jdbc.Driver
username=root
password=123456
url=jdbc:mysql://127.0.0.1:3306/databasename?useUnicode=true&characterEncoding=utf8

使用示例

import java.sql.*;
//import JdbcUtils;

/**
 * @author Acx7
 */
public class JdbcTest {
    public static void main(String[] args) {
        PreparedStatement ps = null;
        ResultSet rs = null;
        Connection conn = null;
        try {
            conn = JdbcUtils.getConnection();
            String sql = "SELECT `name` FROM users WHERE id=?";
            ps = conn.prepareStatement(sql);
            ps.setInt(1,1);
            rs = ps.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getObject("name"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            JdbcUtils.close(rs, ps, conn);
        }
    }
}
【JAVA高级】——吃透JDBC中的封装工具类、ORM和Date工具类 吃透JDBC中的封装工具类、ORM和Date工具类 阅读详情

相关推荐

SpringBoot中封装jdbc工具类

现在的数据层的开发,大多会使用如MyBatis或JPA之类的开发工具。这些开发工具给我们的开发过程中带来了极大的便利。 但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: https://blog.youkuaiyun.com/lxyoucan/article/details/124042295

JDBC连接数据库配置

jdbc:sqlserver://localhost:1433; databaseName=stufeedb; integratedSecurity=true; user=sa; password=svse;   package com.singlee.dao; import java.sql.Connection; import java.sql.DriverManage...

mingzhenlin1992的专栏 249

如何利用DeepSeek自动生成PLC程序?

在工业自动化领域,PLC是核心控制设备,其编程效率和质量直接影响生产线的运行效果。 然而,传统PLC编程依赖工程师手动编写代码,不仅耗时耗力,还容易出错。通过自动生成PLC程序,DeepSeek不仅大幅提升了编程效率,还优化了代码质量。 那么DeepSeek到底能否自动生成PLC程序呢? 有位电气工程师就尝试让DeepSeek设计一套五层电梯控制系统的PLC程序,下面就让我们看看吧。 技术原理:DeepSeek如何实现自动编程DeepSeek利用自然语言处理技术,将工程师输入的文本指令转换为PLC代码。例

Qinmingyue13的博客 6179

jdbc缺省连接mysql_使用JDBC连接sqlServer指定(或非默认)实例

SQL Server 允许在每台服务器上安装多个数据库实例。每个实例都由一个专用名称所标识。若要连接到指定的 SQLServer 实例,可以使用指定实例的端口号(首选),也可将实例名指定为 JDBC URL 属性或 datasource属性。如果未指定实例名属性或端口号属性,则会创建与默认实例的连接。如以下实例所示:jdbc:sqlserver://localhost:1433;integrate...

weixin_31080131的博客 620

使用Termux在Android设备上编译运行SpecCPU2006

SPEC2006搭配Termux,竟然还能这么玩?!

菜菜的菜园子 2960

提高机器学习模型准确率的八大方法

原文连接:http://www.techweb.com.cn/network/system/2016-01-27/2269274.shtml 此文仅是一个小品文,详细理论请读论文,参考书籍。 前言:我的概述 机器学习面对的是一个受限有穷空间 到 一个扩大的有穷空间 的泛化问题。若假设空间足以覆盖真实的数据空间,机器学习方法可以弃之不...

alppkk4545的博客 1301

JDBC超详细封装教程

​ JDBC(Java Database Connectivity)是什么?它是一种规范,SUN公司要求数据库公司必须按照JDBC规范实现对应数据库Java代码,提供数据库的相关资源给java程序。在JDBC出来之前,各种数据库提供给java程序数据的方法各式各样,可以说,JDBC极大地方便了我们java开发程序员,目前和java配合最好的数据库是Oracle和MySQL数据库。

weixin_48991399的博客 3189

从S参数到SPICE模型:Cadence Sigrity Boardband SPICE完整使用指南

本文详细介绍了Cadence Sigrity Boardband SPICE工具的核心价值与完整使用流程。该工具通过矢量拟合算法,将复杂的多端口S参数文件转化为无源、紧凑且高精度的SPICE等效电路模型,从而极大提升时域仿真效率。指南涵盖了从数据导入、关键参数配置、模型精度验证到集成应用于PowerSI等系统级仿真的全步骤,是信号与电源完整性分析的必备利器。

defi6farmer的博客 434

JDBC工具类的封装

JDBC工具类的封装,封装获取数据库连接方法,获取preparedStatement对象的方法,解析ResultSet集合,关闭资源等方法

m0_48895748的博客 1664

Python爬虫实战:手把手教你园林植物分类全维度字典自动化采集实战!

我长期专注 Python 爬虫工程化实战,主理专栏 👉 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 388

把 SNC 支持的通信链路一次讲透,SAP GUI、RFC、CPIC、SAProuter 到底谁在保护谁

摘要: SNC(Secure Network Communications)是SAP系统中用于保护特定通信链路的安全机制,主要应用于DIAG、RFC、CPIC等SAP协议,而非HTTP等互联网协议(后者由SSL/TLS处理)。其核心在于保护通信端点之间的逻辑链路,需在发起方和接收方同时配置SNC参数,包括SNC名称、保护等级(QoP)等。实际项目中,SNC的配置涉及多个层面,如SAP GUI到ABAP平台的登录链路、外部程序通过RFC/CPIC连接ABAP的认证、ABAP系统间的跨系统通信等。配置不当可能导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 252

对JDBC进行封装,封装成工具类,封装成几行简单的代码就可以从数据库中获取指定的数据~

我们将自己数据库对应的URL写到工具类中的static代码块中,但是在项目中我们写的工具类有好多,java文件也有好多。别人看或者在他电脑上想运行我们的项目的时候,需要修改他自身的用户名和密码 所以将这些写到static中也并不是非常合适的,这时候我们就需要想到我们可以将这些数据写到一个资源文件中,在static中通过读取资源文件中的数据来加载数据库。 在集合中,有一个键值对集合Properties,这个我们没怎么说当时,但是这个集合是map集合。我们可以写一个 properties文件专门存放我们

hariya的博客 1442

华为OD面试手撕真题 【合并相邻且相等的元素】多语言题解

华为OD面试高频手撕真题【合并相邻且相等的元素】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。

qq_45776114的博客 549

JDBC相关工具类的封装

一、JDBC连接工具类(MySQL为例) 1、在项目根目录创建一个properties的配置文件db.properties,里面定义了四行数据,分别对应着JDBC连接所需要的几个参数(注:Properties底层为一个Hashtable,配置文件中“=”之前的代表Map中的键,之后的代表相应键所对应的值) driverClassName=com.mysql.jdbc.Driver url=jdbc...

老头儿ii的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JDBC工具类封装

工具类封装 在前面的JDBC案例中我们不难发现,每次操纵数据库都需要进行数据库的注册、连接等大量重复的操作,是的代码变得十分的臃肿,所以此时我们应该考虑如何把重复代码提取出来,随时需要随时拿来用。 这就是工具类的封装。 案例实现:实现emp表的查询、添加、删除、修改 封装DbUtils 由于多个地方都需要使用数据库连接和释放,所以把功能封装到工具类中DbUtils 四个功能: 注册驱动 获取连接...

云祁QI 1098

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

封装jdbc工具类进行使用

对jdbc的注册驱动和资源释放等代码进行封装 由于每回都需要重复写代码,为了提高复用性。我们写一个jdbc工具类。下次在进行驱动和释放资源时可以直接调用工具类中的 方法。 package com.atguigu.DBUtil; import java.sql.*; /** * jdbc工具类 **/ public class DBUtil { //因为注册只需要进行一次,所以写在静态代码块中,当类加载的时候进行调用且只会调用一次 static { try {

qq_43596152的博客 851

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JDBC封装工具类

第一节:工具类封装 公共属性抽取 public static final String DRIVER = "com.mysql.jdbc.Driver"; public static final String URL = "jdbc:mysql://localhost:3306/ceshi?useUnicode=true&characterEncoding=utf8&useSSL=false"; public static final String ROOT = "ro...

kaijiayongshi001的博客 549

JDBC入门案例之封装工具类操作

JDBC之封装的工具类 import java.sql.*; /** * 创建工具类 工具中的方法都是静态方法 方便直接通过类名调用 * 定义:获得Connection对象 并返回 * 定义一个静态方法 :释放资源 */ public class JDBCUtils { //1 定义四个静态成员变量 用于连接数据库的相关信息 private static Str...

wangxuejava的博客 271

jdbc工具类的封装

今天做了一个jdbc工具类的分装:比如findall那个文件就写的不是很好,没有做到通用性。 package com.zzu; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.net.URL; import java.sql.Con...

Arya_boy的博客 291

JDBC-封装工具类

为什么要封装成工具类? 在入门阶段将jdbc的框架代码敲熟了以后,已经明显感觉到每一次重复的敲打是冗余的,所以我们考虑将框架封装成在一个工具类中方便以后的调用 如何封装? 首先,工具类的方法为静态方法,为了防止他人创建对象,应设置一个私有的无参构造方法 每一次的获取Connection对象,Statement对象等操作都需要进行驱动的加载,所以可以将驱动的加载的步骤放入静态代码块中 在给连接对象的参数赋值时,我们如果写死 url , username 和 password ,不利于以后的修改 所以可以创建

YelsonLi的博客 849

JAVA中自己封装JDBC工具类

零、码仙励志 朋友和我说:人都是逼出来的。我经过深思熟虑,觉得很有道理。 一、前期准备 首先创建一个Dynamic Web Project 工程 jdbc ,接着创建俩个包和一个文件db.properties,然后导入MySQL驱动类。 新建工程和导入驱动我这里就不介绍了,不会的看下面这篇文章 JAVA中的JDBD(MYSQL) 下面是我的工程截图,可以按照我的来 二、创...

秦哥的博客 4459
上一篇: eclipse 和 IDEA 中导入外部 jar 包
下一篇: PreparedStatement 防止 SQL 注入原理
ali48
博客等级 码龄6年 31粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值