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连接的更多相关文章

  1. 获取OlapConnection连接

    目录: 1.获取org.olap4j.OlapConnection对象 2.获取mondrian.olap.Connection对象 一.org.olap4j.OlapConnection对象 说明: ...

  2. JDBC连接抽象方法的使用例子

    package com.zdlt.auth.api.base.datasource; import java.sql.*; import java.util.ArrayList; import jav ...

  3. JAVA使用jdbc连接MYSQL简单示例

    以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...

  4. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  5. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  6. Java使用JDBC连接MySQL数据库

    1.引用 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写 ...

  7. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  8. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

  9. [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. POJ 3264.Balanced Lineup-结构体版线段树(区间查询最值)

    Balanced Lineup Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 53721   Accepted: 25244 ...

  2. 树链剖分【CF343D】Water Tree

    Description Mad scientist Mike has constructed a rooted tree, which consists of nnvertices. Each ver ...

  3. 27、Django实战第27天:全局搜索功能开发

    当我们选择其中一个类别(公开课,课程讲师,授课老师),输入搜索内容,点击搜索后会跳转到相应的列表页中进行展示 我们输入的内容作为参数keyword传入后台 搜索"公开课" 当课程中 ...

  4. [BZOJ 4082] Surveillance

    Link: BZOJ 4082 传送门 Solution: 对于链上这样的问题贪心就好了 如果在一个环上,肯定需要将环转化成链,$O(n)$确定起点才能计算 但枚举每个节点拆环再贪心的复杂度为$O(n ...

  5. AtCoder - 2705 Yes or No

    Problem Statement You are participating in a quiz with N+M questions and Yes/No answers. It's known ...

  6. TZOJ 5396: 集五福过大年

    描述 又是一年春来到,伴随着春节,支付宝的“集五福”活动又开始了,五福分别是“爱国福”.“富强福”.“和谐福”.“友善福”和“敬业福”,五张不同的福卡可以合成一张“五福到”,crq也扫了不少福,这么多 ...

  7. 动态OSPF配置路由表

    动态ospf设置路由表 以Rourer1为例子 (1)首先设置路由器端口ip Router(config)#inter f0/0 Router(config-if)#ip add 192.168.1. ...

  8. UdpClient类客户端和服务端demo

    服务端demo static IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 0); static UdpClient udp = new UdpClie ...

  9. nativeexcel将excel导入数据集

    nativeexcel将excel导入数据集 uses nexcel; procedure Tfgoods.daoruExecute(Sender: TObject);var od: TOpenDia ...

  10. C# 7 新特性-1

    来源https://www.kenneth-truyers.net/2016/01/20/new-features-in-c-sharp-7/ Tuples What Tuples是数据的临时分组.区 ...