import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public final class JdbcUtilsSingle {
private String url = "jdbc:mysql://localhost:3306/jdbc";
private String user = "root";
private String password = "";
// private static JdbcUtilsSingle instance= new JdbcUtilsSingle();
private static JdbcUtilsSingle instance = null;
private JdbcUtilsSingle() {
}
public static JdbcUtilsSingle getInstance() {
if (instance == null) {// 延时加载
// 为防止并发,加锁
synchronized (JdbcUtilsSingle.class) {
if (instance == null) {//双重检查
instance = new JdbcUtilsSingle();
}
}
}
return instance;
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new ExceptionInInitializerError(e);
}
}
public Connection getConn() throws SQLException {
return DriverManager.getConnection(url, user, password);
}
public void free(ResultSet rs, Statement st, Connection conn) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
try {
if (st != null) {
st.close();
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
}
}
}
分享到:
相关推荐
* JDBCConnection for Singleton * 双重检查加锁方法,由于JVM内部的问题,该方法还是有漏洞的。 * 假设线程1进入到步骤2,执行步骤3未完成,会先将instance设为非null值。 * 这时候线程2会在判断instance==null...
本示例中的"Oracle jdbc 单例 工具类"着重讨论了单例模式的应用,单例模式是一种设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在数据库连接管理中,使用单例模式可以避免频繁创建和关闭连接,提高...
单例 jdbc 数据库连接 工具类 里面是sqlserver的示例,需要的话自己可以改成其他数据库
JSP+Servlet+达梦数据库+JDBC单例 web项目demo
在本项目中,“jdbc连接工具类 单例连接模式,进度1”指的是创建了一个使用单例设计模式的JDBC连接工具类,以优化数据库连接的管理和复用,提高程序性能。下面我们将深入探讨这两个关键概念。 首先,让我们了解一下...
### JDBC的连接实例与单例模式的写法详解 在Java开发中,JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。本文将...
本示例是java语言使用JDBC方式单例模式连接数据库的代码,有误之处,请多指教。
本资源摘要信息主要介绍了 Java 数据库连接(JDBC)的相关知识,包括单例模式、JDBC 概述、JDBC 实现原理、JDBC 开发主要类和 JDBC 开发步骤等内容。 单例模式 单例模式是一种常用的软件设计模式,通过单例模式...
- **单例模式**:为了确保每次获取的都是同一个数据库连接对象,这里使用了单例模式来创建`ConnectionTest`类的对象。 - **加载驱动**:使用`Class.forName()`方法加载Oracle JDBC驱动。 - **建立连接**:通过`...
Java单例模式是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。在数据库连接管理中,使用单例模式能有效控制资源,避免频繁创建和关闭数据库连接导致的性能损失和资源浪费。以下是对Java单例模式...
这些方法的实现会依赖于数据库连接池的API,如JDBC的DataSource接口,以及单例模式下的全局连接池实例。 总结起来,Java自定义连接池和单例模式的结合,可以创建一个高效、稳定的数据库访问层。通过BaseDao类,我们...
在JDBC中,数据库连接池常使用单例模式实现,以提高性能并减少资源消耗。单例模式的应用确保了在整个应用程序中,只有一个数据库连接池实例被创建和共享。 ThreadLocal是Java中的一个线程局部变量,它为每个线程都...
9. **设计模式**:在项目开发中,可能会运用到设计模式,如工厂模式(用于创建数据库连接)、单例模式(用于数据库连接池)等,以提高代码的可维护性和复用性。 10. **测试与调试**:为了确保系统的正确运行,...
Java JDBC 数据库连接池总结 Java 语言中,JDBC(Java DataBase Connection)是应用程序与数据库沟通的桥梁。在 Web 应用开发的早期,主要使用的技术是 CGIASPPHP 等。之后,Sun 公司推出了基于 Java 语言的 ...
- 提供线程安全的会话获取方式,比如单例模式或多线程环境下的线程局部变量。 - 配置和管理JdbcResourceManager,确保正确初始化连接池或其他资源。 在给定的文件中,我们有四个核心类:JdbcSession、...
根据提供的信息,我们可以深入探讨单例模式下的登录界面设计与实现。这主要涉及两个核心方面:一是使用单例模式管理数据库连接(通过`DBUtil`类实现),二是设计登录界面并处理登录逻辑(通过`LoginForm`类实现)。 ...
在设计`JdbcUtil`时,应考虑线程安全问题,例如使用静态方法和单例模式。同时,可以引入异常处理机制,对可能出现的SQL异常进行捕获和处理,提供友好的错误信息。 总结来说,`JdbcUtil`类是为了解决JDBC使用过程中...
解决多数据库服务器和多用户问题可以设计一个符合单例模式的连接池管理类,在连接池管理类的唯一实例被创建时读取一个资源文件,其中包含了不同的数据库连接信息。 Java JDBC 数据库连接池的优点包括: 1. 提高...
### JDBC学习笔记知识点详解 #### 一、JDBC理论概述 **JDBC**(Java Database Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供...
这里我们关注的是如何使用配置文件、类加载器以及单例模式来高效、稳定地管理数据库连接。Oracle数据库是一种广泛使用的商业关系型数据库系统,尤其适用于大型企业级应用。下面将详细阐述这些知识点。 首先,**配置...