//JDBC编程练习
public class DBHandle {
/** 驱动类 */
private static String SQL_DRIVER = "";
/** 数据库连接串 */
private static String SQL_URL = "";
/** 用户名 */
private static String SQL_USERNAME = "";
/** 密码 */
private static String SQL_PASSWORD = "";
private static Connection connection = null;
// 加载初始化Connection对象
static {
try {
getPropertiesInfo();
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 私有的构造器
*/
private DBHandle() {
super();
// TODO Auto-generated constructor stub
}
/**
* 从配置文件获取连接属性
*/
private static void getPropertiesInfo() {
try {
FileInputStream fis = new FileInputStream(
"D:\\config\\db.properties");
Properties prop = new Properties();
// 获得相应的键值对
prop.load(fis);
// 根据相应的键获得对应的值
SQL_DRIVER = prop.getProperty("driver");
SQL_URL = prop.getProperty("url");
SQL_USERNAME = prop.getProperty("username");
SQL_PASSWORD = prop.getProperty("password");
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午08:58:07
* @Description 该方法用来加载驱动,并获得数据库的连接对象
* @return
*/
public static Connection getConnection() {
try {
if (connection == null || connection.equals(null)
|| connection.isClosed()) {
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:27
* @Description 关闭
* @param rs
* @param ps
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement) {
try {
if (resultSet != null || !(resultSet.isClosed()))
resultSet.close();
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(PreparedStatement preparedStatement,
Connection connection) {
try {
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement, Connection connection) {
try {
close(resultSet, preparedStatement);
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
附件是源码!
public class DBHandle {
/** 驱动类 */
private static String SQL_DRIVER = "";
/** 数据库连接串 */
private static String SQL_URL = "";
/** 用户名 */
private static String SQL_USERNAME = "";
/** 密码 */
private static String SQL_PASSWORD = "";
private static Connection connection = null;
// 加载初始化Connection对象
static {
try {
getPropertiesInfo();
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 私有的构造器
*/
private DBHandle() {
super();
// TODO Auto-generated constructor stub
}
/**
* 从配置文件获取连接属性
*/
private static void getPropertiesInfo() {
try {
FileInputStream fis = new FileInputStream(
"D:\\config\\db.properties");
Properties prop = new Properties();
// 获得相应的键值对
prop.load(fis);
// 根据相应的键获得对应的值
SQL_DRIVER = prop.getProperty("driver");
SQL_URL = prop.getProperty("url");
SQL_USERNAME = prop.getProperty("username");
SQL_PASSWORD = prop.getProperty("password");
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午08:58:07
* @Description 该方法用来加载驱动,并获得数据库的连接对象
* @return
*/
public static Connection getConnection() {
try {
if (connection == null || connection.equals(null)
|| connection.isClosed()) {
Class.forName(SQL_DRIVER);
connection = DriverManager.getConnection(SQL_URL, SQL_USERNAME,
SQL_PASSWORD);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:27
* @Description 关闭
* @param rs
* @param ps
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement) {
try {
if (resultSet != null || !(resultSet.isClosed()))
resultSet.close();
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(PreparedStatement preparedStatement,
Connection connection) {
try {
if (preparedStatement != null || !(preparedStatement.isClosed()))
preparedStatement.close();
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @author hwzhang
* @date 2012-12-4 下午09:35:19
* @Description Description
* @param rs
* @param ps
* @param connection
*/
@SuppressWarnings("null")
public static void close(ResultSet resultSet,
PreparedStatement preparedStatement, Connection connection) {
try {
close(resultSet, preparedStatement);
if (connection != null || !(connection.isClosed()))
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
附件是源码!
- src.zip (8.9 KB)
- 下载次数: 0
发表评论
-
Spring aop
2018-09-10 18:23 498org.springframework.aop.aspectj ... -
Java并发编程-客户端加锁机制
2017-06-25 17:14 1213Java并发编程P61 public class List ... -
Java并发实战-私有构造函数捕获
2017-06-24 21:58 772java并发编程实战P58 私有构造函数捕获:私有构造 ... -
java.lang.Void
2017-06-20 23:39 548java.util.concurrent.ForkJoinP ... -
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
2014-06-11 13:11 1232严重: Exception sending context i ... -
jvm学习笔记
2014-03-25 13:47 767学习笔记 HotSpot不区分虚拟机栈和本地方法栈,所以 ... -
自定义标签与spring注入报空
2014-03-25 13:08 764在自定义标签中注入spring对象报空 参考链接: ... -
javascript学习笔记
2013-05-02 17:32 1135<!-- form表单提交时, ... -
java中基本数据类型和引用类型的==和equals判断体会
2013-04-19 13:23 1205今天下午遇到一个问题 :两个相等的整数相比结果返回false, ... -
出现Exception之后会影响程序的执行流程吗
2013-04-19 13:02 897程序出现异常后catch块以后的代码是否执行?以下是一个小示例 ... -
eclipse时间
2013-03-14 21:50 739eclipse时间@date @time 时间格式转换成,例如 ... -
eclipse集成tomcat
2013-03-14 21:46 728在eclipse中找到${path}\eclipse\plug ... -
eclipse实现openexplorer功能
2013-03-14 21:42 720在eclipse中找到${path}\eclipse\plug ... -
jdbc增删改查加分页
2012-12-05 23:04 1024public class UserDao implements ... -
java有关英文缩写
2012-06-06 21:36 1044JDK(Java Development Kit,java ... -
解决Myeclipse导入包出现不了referenced libraries的问题
2011-09-02 09:29 2545我想往Web工程里面导入些包,复制到WebRoot ---&g ... -
Java多态性详解——父类引用子类对象
2011-08-17 12:41 1300面向对象编程有三个特征,即封装、继承和多态。 封装隐藏 ...
相关推荐
数据库连接工厂数据库连接工厂数据库连接工厂数据库连接工厂
【标题】"2022年5G全连接工厂建设白皮书共32页.pdf" 这份文档聚焦于2022年的5G全连接工厂建设,深入探讨了5G技术在工业4.0背景下的应用与发展趋势。5G全连接工厂是智能制造的重要组成部分,通过高速、低延迟、大...
2024工业5G全连接工厂白皮书 本白皮书旨在推动工业5G在全连接工厂中的应用与发展,促进制造业的数字化转型。为达到这个目标,我们将从工业5G技术概述、全连接工厂的构建与实践、工业5G全连接工厂的挑战与解决方案、...
《5G全连接工厂建设白皮书》是深入探讨5G技术在制造业中应用的一份重要文献,旨在描绘5G如何重塑和优化工业生产环境,推动智能制造的发展。这份白皮书共36页,详细阐述了5G技术的最新进展、应用场景以及对未来工厂的...
【5G全连接工厂建设白皮书】是指导我国工业领域深入应用5G技术,推动数字化转型的重要文献。自2019年以来,随着《“5G+工业互联网”512工程推进方案》的发布,全国各地积极响应,通过一系列政策推动,如《工业互联网...
《5G全连接工厂建设要素解析》 5G全连接工厂是现代制造业的重要发展方向,它融合了最新的通信技术与工业生产流程,旨在大幅提升生产效率、优化资源配置,以及增强工厂的安全性和可靠性。本文将深入探讨5G全连接工厂...
《5G全连接工厂建设要素》的文档详细阐述了构建5G驱动的未来工厂所需的关键因素,涵盖了网络建设、应用场景、工业互联网平台、新技术应用以及综合经济指标等多个方面。以下是对这些要素的深入解析: 首先,5G网络...
《5G 全连接工厂建设指南》是一份深入探讨如何利用5G技术改造和提升工业生产效率的行业报告。这份指南旨在推动“5G+工业互联网”的广泛应用,以加速中国新型工业化的进程。自2019年启动“5G+工业互联网”512工程以来...
"5G+全连接工厂政策解读及应用场景介绍" 以全面推进制造业智能化改造和数字化转型为目标,推动企业“智改数转”,全面构建创新体系,推进5G、工业互联网等新一代通信网络网络基础设施建设。本文将对5G+全连接工厂...
5G工业互联赋能 5G全连接工厂
【5G全连接工厂概述】 5G全连接工厂是指运用5G通信技术,实现生产设备、生产过程、管理系统等全面数字化和智能化的新型生产模式。这种模式通过高速、低延迟、大容量的5G网络,实现了工厂内部的高效数据传输和设备间...
在这个“用工厂模式开发多数据库连接类”的实例中,我们将深入探讨如何运用工厂模式来管理多种数据库连接类。 首先,我们要理解数据库连接类的作用。在Java或其他编程语言中,数据库连接类通常用于建立和管理与...
2022年打造基于5G全连接智慧工厂物联网解决方案.pptx 高清完整版可自由编辑
工信部-5G全连接工厂建设指南.pdf
5G全连接工厂政策解读、关键技术与建设实施方案
抽象工厂的实现(即具体的数据库连接工厂)则负责生产符合特定数据库规范的对象实例。 1. **抽象层定义**:在.NET中,可以创建一个名为`IDatabaseConnectionFactory`的接口,它定义了创建各种数据库对象的方法,...
一个得到数据库连接的工厂,根据你的一个培植文件,轻易的实现数据库连接。
Java点餐订餐系统+Java学习资料+Java教程第12集+12 -连接工厂-关闭资源。