jdbc连接mysql工具类_jdbc之工具类DBUtil的使用
首先回顾一下jdbc的使用方法:
1. 注册驱动
2. 建立连接
3. 建立statement
4. 定义sql语句
5. 执行sql语句,如果执行的是查询需遍历结果集
6. 关闭连接
其中建立连接和关闭连接都是可以封装成工具类的,因此给出DBUtil代码如下:
package com.colin.util;
import java.sql.*;
public class DBUtil {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/testdb";
private static final String USERNAME = "root";
private static final String PASSWORD = "Danny2036";
/**
* 获取连接的公共方法
* @return
*/
public static Connection getConnection() {
try {
Class.forName(DRIVER);
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
* 关闭Connection
* @param connection
*/
public static void closeConnection(Connection connection) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 关闭Statement
* @param statement
*/
public static void closeStatement(Statement statement) {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 关闭ResultSet
* @param resultSet
*/
public static void closeresultset(ResultSet resultSet) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 关闭ResultSet, Statement, Connection
* @param closeables
*/
public static void closeAll(AutoCloseable... closeables) {
for(AutoCloseable autoCloseable : closeables) {
try {
if (autoCloseable != null) {
autoCloseable.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
这里解释下最后一个方法closeAll()。关闭连接需要关闭哪些内容呢?一般情况下,有Connection和Statement,如果执行查询返回了结果集,还有ResultSet。关闭的顺序应该和打开的顺序相反(如,打开的顺序是Connection,Statement,关闭的顺序就应该是Statement,Connection)。如果分别写三个close方法,很明显代码不够精炼。因此,我们只用一个方法来关闭所有的连接。
通过查看源码可以知道,Connection,Statement,ResultSet都继承了AutoCloseable这个接口,因此closeAll()方法采用AutoCloseable类型的可变参数,传入的三个值按顺序依次是ResultSet(如果有),Statement,Connection。给出如下一个例子。
DBUtil.closeAll(resultSet, preparedStatement, connection);
大功告成。
JDBC 实例--JDBC通过工具类DBUtil连接到数据库,让我们不再恐惧操作数据库
利用JDBC连接到数据库一般需要几个步骤: 1.装载驱动程序. 2.建立连接. 3.发送和执行SQL语句. 4.释放资源 首先建立一个数据库: 脚本如下: create database csdn; ...
【JDBC】工具类的抽取
jdbc.properties属性文件 driverClass=com.mysql.jdbc.Driver url=jdbc:mysql:///jdbctest username=root passw ...
一、工具类DBUtil——数据库连接
这个工具类完成的工作如下: 1.第一个static方法,完成数据库初始化的工作 2.第二个static方法,完成与数据库建立连接的工作. package util; import java.sql.C ...
20160406javaweb JDBC 实例工具类
一.建立静态的数据库配置文件: config.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/datab ...
jdbc连接数据库工具类
import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import ja ...
创建Jdbc封装工具类
jdbc.propertie url=jdbc:mysql:///empye user=root password=root driver=com.mysql.jdbc.Driver 读取资源文件 ...
JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全
直接使用JDBC访问数据库时,需要避免以下隐患: 1. 每一次数据操作请求都需要建立数据库连接.打开连接.存取数据和关闭连接等步骤.而建立和打开数据库连接是一件既耗资源又费时的过程,如果频繁发生这种数 ...
JDBC——抽取工具类
目的:简化书写 分析: 1.注册驱动 2.获取连接对象 3.释放资源 1.注册驱动 2.获取连接对象 需求:不想传递参数,还能保证工具类的通用性解决方案:配置文件 jdbc.properties ur ...
连接数据库工具类DBUtil
代码如下: import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; ...
随机推荐
Android MonoGame坑记
1.Content 加载声音API错误: 2.TouchPanel.GetState()属于抢占式的,用一次后面不能继续使用,否则状态尚属第一次: 3.TouchPanel 坐标来自于硬件本身: 4. ...
Python零散收集:
Python零散收集 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \’ 单引号 \” 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵 ...
this详解:JAVASCRIPT中的this到底是谁?
语法 this 全局对象 在全局执行上下文(函数之外),this引用的是全局对象. console.log(this.document === document); // true // In web ...
HDU3549 Flow Problem(网络流增广路算法)
题目链接. 分析: 网络流增广路算法模板题.http://www.cnblogs.com/tanhehe/p/3234248.html AC代码: #include ...
uva 10163 - Storage Keepers(01背包)
题目链接:10163 - Storage Keepers 题目大意:给出m为仓库的数量, 给出n为有守夜人的数量, 然后给出n个数值,为对应守夜人应付的酬劳,每个守夜人的能力与他需要的酬劳是相等的,并 ...
使用.NetCore 控制台演示 熔断 降级(polly)
1.熔断降级的概念: 熔断:我这里有一根长度一米的钢铁,钢铁的熔点1000度(假设),现在我想用力把这根钢铁折弯,但是人的力有限达不到折弯的点,然后我使用火给钢铁加热,每隔一段时间我就会尝试一下是否能 ...
Java建造(Builder)模式
一.什么是建造模式: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同内部表象的产品.客户端不需要知道产品内部的结构和生产过程. 二.建造模式的结构: Buil ...
常用git操作命令
查看远程仓库 ->$ git remote -v 如果你本地有一个项目,想把他放到远程git服务器上,那就用上面的命令把项目 add 到远程服务器 ->$ git remote a ...
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...
SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
一.配置文件:SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file
jdbc连接mysql工具类_jdbc之工具类DBUtil的使用相关推荐
- jdbc连接mysql的语法_JDBC连接MySQL
JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com. ...
- jdbc连接mysql驱动包_jdbc连接数据库驱动包
FineReport如何用JDBC连接阿里云ADS数据库 在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我 ...
- jdbc连接mysql正规方法_JDBC基础篇(MYSQL)——通过JDBC连接数据库的三种方式
package day01_jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManage ...
- jdbc连接mysql数据库过程_jdbc连接数据库的步骤
基本理解:开发中要先加载驱动,然后获得连接,创建执行SQL语句的对象,并且执行SQL 第一步:把想要连接的数据库驱动加载入JVM,如加载mysql数据库驱动类可以通过Class.forName(&qu ...
- jdbc连接mysql驱动方式_JDBC连接数据库系列教程 – JDBC注册驱动的常见方式
方法1 DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver(),2); 方法2 System.s ...
- jdbc连接mysql登录注册_jdbc+mysql+servlet+jsp实现用户注册与登录功能
/* *mysql代码 */ DROP TABLE IF EXISTS `useres`; CREATE TABLE `useres` ( `id` int(20) NOT NULL AUTO_INC ...
- jdbc连接数据库mysql的问题_JDBC连接Mysql数据库出现的问题汇总
最近安装了一个 mysql 8.0 版本的数据库,在程序中连接的时候可谓是状况不断.之前也会遇到一些问题,这里就对使用 JDBC 连接 mysql 会出现的问题做一个汇总. 在此之前说明一下环境: 开 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- JDBC连接MySQL数据库及示例
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
最新文章
- 业界对物联网技术最常见的三大误区解读
- 西南交通大学计算机学院,西南交通大学2021年招生计划:四川招1830人、重庆招426人...
- Log4j和Slf4j的比较
- 芒果数据库备份与还原
- 同济大学计算机学硕无人录取,2019年双非上岸同济大学计算机考研初复试经验分享,超详细!...
- 用asp记录论坛用户密码(dvbbs,leadbbs等)
- 在vscode中打开PDF文件
- 三星手机使用应用沙盒动态修改sdk数据
- java 坐标反算_Java实现坐标反算方位角
- Windows 开机自动拨号上网
- IP签名档HTML版本源码 显示精准定位
- 12306抢票工具震撼来袭
- 那些年,我们一起做过的 Java 课后练习题(51 - 55)
- oracle中字体倒转,Oracle特殊查询 行列倒转 分页
- GET http://localhost:8082/ net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
- java se1.6配套Jdk,javase 1.6与jdk1.6
- python爬取网页表格数据匹配_爬取表格类网站数据并保存为excel文件
- 机器学习-生成对抗网络实战(二-2)
- 阿里云天池供应链大赛(一)
- 使用UmiJS封装请求umi-request
热门文章
- 狸猫的面试——JVM综述
- android开发圆形Imageview图标实现
- linux 字符串时间转换,Linux C/C++时间字符串与time_t之间的转换方法(转)
- Sourcetree安装教程及使用
- uview 瀑布流_RecyclerView瀑布流的那些坑
- oracle序列跳号,回跳
- Oracle序列创建和使用
- 三维计算机动画的特征是真实性,【影视制作论文】艺术语言论文:纪录片中语言的真实性解析(共4867字)...
- indent expected
- 设置默认以管理员的身份运行CMD