单例模式获取JDBC连接
package com.jdbc.test; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
/**
* @author 李逸野
* */
public class DBHelperUtil{
//获取数据库用户名
private static String user;
//获取数据库密码
private static String password;
//获取数据库驱动
private static String driver;
//获取数据库URL
private static String jdbcUrl;
//加载文件
private static Properties properties;
//获取加载文件
private static InputStream getProperties;
//单例模式获取数据库实体
private static DBHelperUtil etity;
//获取连接对象
private static Connection conn = null; //私有化
private DBHelperUtil(){ }
//通过静态代码块加载配置文件
static{
properties = new Properties();
getProperties = DBHelperUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
try {
properties.load(getProperties);
} catch (IOException e) {
e.printStackTrace();
}
user = properties.getProperty("user");
password=properties.getProperty("password");
driver=properties.getProperty("driver");
jdbcUrl=properties.getProperty("jdbcUrl");
etity = new DBHelperUtil();
} //单例模式获取数据库连接
public static Connection createInstance() throws IOException, ClassNotFoundException, SQLException{
if(conn == null){
synchronized(Object.class){
if(conn == null){
conn = DriverManager.getConnection(jdbcUrl, user, password);
etity.initDB();
}
}
}
return conn;
}
//初始化连接
public void initDB() throws ClassNotFoundException{
Class.forName(driver);
} //关闭数据库连接
public static void close(ResultSet resultSet,PreparedStatement perparedStatement,Connection conn) throws SQLException, IOException{ if(resultSet != null){
resultSet.close();
} if(perparedStatement != null){
perparedStatement.close();
} if(conn != null){
conn.close();
} if(getProperties != null){
getProperties.close();
} }
}
测试数据:

结合本人最近学习的单例模式和JDBC写出个简单的获取JDBC连接,如果有错误欢迎指教。
单例模式获取JDBC连接的更多相关文章
- 获取OlapConnection连接
目录: 1.获取org.olap4j.OlapConnection对象 2.获取mondrian.olap.Connection对象 一.org.olap4j.OlapConnection对象 说明: ...
- JDBC连接抽象方法的使用例子
package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- JDBC连接SQL Server代码模板
* JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement : 执行SQL语句:* Re ...
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- Java使用JDBC连接MySQL数据库
1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- JDBC连接sql server数据库及其它
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
随机推荐
- UESTC 1599.wtmsb-STL(priority_queue)
wtmsb Time Limit: 1000/100MS (Java/Others) Memory Limit: 131072/131072KB (Java/Others) 这天,AutSky_Jad ...
- CF 990C. Bracket Sequences Concatenation Problem【栈/括号匹配】
[链接]:CF [题意]: 给出n个字符串,保证只包含'('和')',求从中取2个字符串链接后形成正确的括号序列的方案数(每个串都可以重复使用)(像'()()'和'(())'这样的都是合法的,像')( ...
- SPFA解决单源最短路径
SPFA(Shortest Path Faster Algorithm): 一:基本算法 在求解单源最短路径的时候,最经典的是 Dijkstra 算法,但是这个算法对于含有负权的图就无能为力了,而 B ...
- MySQL数据库增删改字段(属性)
MySQL数据库的各种操作今天在这里总结一下: 一.增加 1.在已有的表中添加新的字段: 首先是增加表的字段,比如一张表原本没有字段“ Time ”,现在我们要增加这样一个字段,可以用下面的SQL语句 ...
- 贮油点问题(C++)
贮油点问题…..一道送命系列的递推… 描述 Description 一辆重型卡车欲穿过S公里的沙漠,卡车耗汽油为1升/公里,卡车总载油能力为W公升.显然卡车装一次油是过不了沙漠的.因此司机必须设法在沿 ...
- Xamarin XAML语言教程构建ControlTemplate控件模板 (二)
Xamarin XAML语言教程构建ControlTemplate控件模板 (二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于ContentView中.代码如下: &l ...
- DNS隧道工具dns2tcp
DNS隧道工具dns2tcp 在很多网络环境中,防火墙会限制出站流量,主机往往只能访问外网主机有限的几个端口,如DNS的53端口.这时,就可以通过DNS请求和响应机制,建立通信隧道.Kali Li ...
- Scala实战高手****第1课:大数据时代的“黄金”语言Scala
共计28课,每节课程在1个小时左右. 每天至少2个课程.预计在11.30号完成. ——————————————————
- sql字段字符用做其他类型查询
select * FROM aa where parent = %@ ORDER BY cast(seq as integer) ASC
- easyui datagrid checkbox的相关属性整理
DataGrid其中与选择,勾选相关 DataGrid属性: singleSelect boolean 如果为true,则只允许选择一行. false ctrlSelect boolean 在启用多行 ...