单例模式获取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连接,如果有错误欢迎指教。

时间: 2024-12-28 21:22:57

单例模式获取JDBC连接的相关文章

jdbc连接HIVE

在hive上启动service hive --service hiveserver 在eclipse中进行开发 导入需要的jar包(我这个导入的是udf和jdbc连接hive需要的jar包,基本是最简的了) 我的代码,hive的语法就不说了,大家可以修改例子中的sql来进行自己的业务.我的hive没有设置用户名,密码.所以   Connection con = new HiveJDBC().getConnection(             "jdbc:hive://192.168.192.1

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

MySql & JDBC & 连接池 & 总结

连接池:解决资源浪费,提高代码性能. 本小节目标: 使用DBCP,C3P0连接池完成基本数据库的操作. 使用DBUtils完成CRUD的操作. 数据库连接池的解决方案是: 当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池.每次应用程序请求数据库连接时,无须重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池.通过使用连接池,将大大提高程序的运行效率. 数据库连接池是Connection 对象的工程.数据库连接池的常用参数

【JDBC】使用JDBC连接Oracle数据库(JAVA反射机制)

db.properties文件 driverClassName=oracle.jdbc.OracleDriver url=jdbc:oracle:thin:@localhost:1521:xe username=system password=123456 db.properties JDBCUtilProperties.java文件 对数据连接和释放资源的封装, package com.xdl.util; import java.io.IOException; import java.io.I

spark 启动thrift server 支持 jdbc连接

在 ./conf下 创建 hive-site.xml 添加: <configuration> <property> <name>hive.metastore.client.connect.retry.delay</name> <value>5</value> </property> <property> <name>hive.metastore.client.socket.timeout</n

通过JDBC连接Mysql之基础篇

1 JDBC基础知识 Q1 什么是JDBC技术 Java Database Connectivity :Java访问数据库的解决方案 Q2 JDBC如何实现访问数据库 JDBC定义了一套标准通用接口,由数据库厂商来实现这些接口连接数据库 Q3 JDBC有哪些标准通用接口 DriverManager 驱动管理 Connection/DatabaseMetaData 连接接口 Statement/PreparedStatement/CallableStatement 语句对象接口 ResultSet

JDBC连接不同数据库(从基础来了解耦合)

JDBC连接不同数据库的实现步骤: 一.在Myeclipse或者Eclipse中新建JavaProject,命名:JDBCTest: 二.在src目录下新建类:JDBC.java,同时输入包名:com.jdbc,同时在src目录下新建                 jdbc.properties配置文件: 三.建立一个jar文件,将不同厂商的数据库驱动文件放置在此目录下: 四.右键点击驱动文件,点击 Build Path --> add class path ,此时在引用类库中会出现数据库  

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发者提供了一个标准的API,据此能够构建更高级的工具和接口,使数据库开发者能够用纯 Java API 编写数据库应用程序,而且可跨平台执行,而且不受数据库供应商的限制.

学习总结------用JDBC连接MySQL

1.下载MySQL的JDBC驱动 地址:https://dev.mysql.com/downloads/connector/ 为了方便,直接就选择合适自己的压缩包 跳过登录,选择直接下载 下载完成后,解压  mysql-connector-java-5.1.42-bin.jar  ,复制 在解压的文件中,找到 粘贴到WebContent—WEB-INF—lib 在ecplise中选择lib文件夹,直接Ctrl+V粘贴即可 2.新建一个.jsp页面 代码: <%@page import="j