`
pavel
  • 浏览: 924051 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据库连接类-延迟创建

    博客分类:
  • jdbc
阅读更多

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

//不能继承
public final class JdbcUtilsTimeout {
   
 private  String url = "jdbc:sqlserver://localhost:1433;DataBaseName=HXParserDB";

 private  String username = "sa";

 private  String password = "123";
 
  //当需要的时候创建
 private static JdbcUtilsTimeout instance = null;
 //解决多线程并发问题,对象实例同步
 public  static JdbcUtilsTimeout getInstance(){
  if(instance==null)
   synchronized (JdbcUtilsTimeout.class) {
    if(instance==null)
     instance = new JdbcUtilsTimeout();
  } 
  return instance;
 }
   
 private JdbcUtilsTimeout() {
 }

 static {
  try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
     .newInstance();

  } catch (Exception e) {
   throw new ExceptionInInitializerError(e);
  }
 }
    
 public  Connection getConnection() throws Exception {
  return DriverManager.getConnection(url, username, password);
 }

 public static void free(ResultSet rs, PreparedStatement pstmt, Connection conn) {
   try {
   if (rs != null)
    rs.close();
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    if (pstmt != null) {
     pstmt.close();
    }
   } catch (Exception e) {
    e.printStackTrace();
   } finally {
    try {
     if (conn != null) {
      conn.close();
     }
    } catch (Exception e) {
     e.printStackTrace();
    }
   }
  }
 }

 

分享到:
评论

相关推荐

    数据库连接池-连接的关闭内幕

    通过复用已有的数据库连接而非每次请求时创建新的连接,连接池可以显著减少数据库访问延迟,并优化资源利用。 #### 数据库连接池的工作原理 数据库连接池通常包含以下关键组件: 1. **连接工厂**:负责创建新的...

    【第一讲连接数据库】-01E-数据库连接池.rar

    数据库连接池的基本思想是维护一个池(集合)来存储预创建的数据库连接,这些连接可以在多个应用程序请求时重复使用,而不是每次请求都新建一个连接。这样可以显著减少创建和销毁连接的开销,提升系统效率。数据库...

    网络数据库编程指南--详细分析

    例如,使用Java的JDBC API结合Socket进行数据库连接,同时考虑网络延迟和错误恢复机制,是网络数据库编程的常见实践。 总的来说,《网络数据库编程指南--详细分析》将带领读者深入探索这些主题,通过实例和最佳实践...

    c#.net 抽象数据库连接类(适合所有数据库)

    在C#.NET编程中,创建一个抽象的数据库连接类是一个重要的设计模式,它允许开发者编写通用的代码来处理各种不同的数据库系统,如SQL Server、MySQL、Oracle等。这个设计模式通常被称为“数据提供者”(DataProvider...

    Java数据库连接-连接池

    连接池在初始化时会预创建一定数量的数据库连接,这些连接在空闲时会被保存起来,当应用程序需要访问数据库时,不再直接创建新的连接,而是从连接池中获取一个已存在的连接。使用完毕后,连接会被归还到池中,而不是...

    单例模式----数据库连接池管理类的应用

    数据库连接池是在应用程序中管理数据库连接的一种机制,它预先创建并维护一定数量的数据库连接,当需要时可以立即提供,不需要时则回收,避免了频繁地创建和关闭连接导致的性能开销和系统资源浪费。连接池通过有效地...

    JAVA 完整的数据库连接池实现

    Java 数据库连接池是 Java 应用程序中用于管理数据库连接的重要工具,它极大地提高了应用程序的性能和效率。本文将详细介绍如何在 Java 中实现一个完整的数据库连接池,并探讨其核心概念、工作原理以及如何根据需求...

    轻量级java数据库连接池

    - **数据库连接池核心类**:实现了连接池的核心功能,包括连接的创建、管理和分配。 - **配置文件**:用于设置连接池的参数,如数据库URL、用户名、密码、初始连接数、最大连接数等。 - **数据库驱动**:需要添加...

    数据库连接池代码

    数据库连接池是管理数据库连接的一种机制,它在应用程序启动时预创建一定数量的数据库连接,并将这些连接存储在一个池中。当应用程序需要访问数据库时,可以从池中获取一个已建立的连接,用完后再归还,而不是每次都...

    解决数据库连接方法

    【SQL Server 数据库连接方法与常见问题解决】 在IT领域,数据库管理是核心任务之一,尤其是在使用Microsoft SQL Server时,数据库连接问题是用户经常遇到的挑战。SQL Server提供了多种连接方式,包括通过内置的...

    Java-jdbc数据库连接池总结.doc

    连接池如同一个预创建的数据库连接集合,应用程序在需要时从池中获取连接,用完后归还,而不是直接关闭。这种方式减少了连接的创建和销毁次数,提高了系统性能,并且可以通过设置最大连接数来防止过度消耗资源。 ...

    数据库连接池代码实现

    2. **HikariCP** 是目前性能最优的数据库连接池,它的设计目标是低延迟和高吞吐量。HikariCP的配置相对简单,通过HikariConfig类设置参数,然后通过HikariDataSource类实例化连接池。 3. **Apache DBCP** 是Apache...

    数据库连接池的工作原理

    数据库连接池的工作原理涉及到多个层面,包括连接的创建与复用、连接池的管理以及性能优化策略。接下来,我们将深入探讨这些核心知识点。 1. **连接的创建与复用** - **连接初始化**:当应用程序启动时,连接池会...

    阿里数据库连接池.zip

    首先,Druid数据库连接池的核心功能是提供数据库连接的创建、管理和复用。它通过维持一定数量的数据库连接,避免了频繁创建和销毁连接带来的性能损耗,同时减少了数据库服务器的压力。Druid还具备以下特性: 1. **...

    mysql 数据库连接池

    数据库连接池是一种管理数据库连接的技术,通过预先创建并维护一定数量的数据库连接,为应用程序提供高效、可靠的数据库访问服务。它解决了频繁建立和关闭数据库连接所造成的性能损耗,同时也提升了系统的资源利用率...

    JAVA数据库工具类

    在Java编程中,数据库工具类是开发者为了简化数据库操作而创建的一类封装了数据库连接、查询、事务处理等常见操作的类。在这个特定的场景中,我们关注的是一个基于DBCP(Database Connection Pool)的数据库工具类,...

    winform数据库连接池源码

    数据库连接池的基本原理是:当一个应用请求一个新的数据库连接时,连接池不会立即创建一个新的连接,而是从已有的连接池中返回一个已存在的、可重用的连接。如果池中没有空闲连接,它会根据预设的规则创建新的连接并...

    C# net 数据库链接框架-EF教学

    它通过自动创建和管理数据库表与类之间的映射,使得开发者可以使用C#对象来操作数据库,减少了对SQL语句的直接依赖。 ### EF工作原理 EF的核心概念是实体(Entities)和上下文(DbContext)。实体代表数据库中的表...

    数据库连接池~~~数据库连接池

    数据库连接池的基本思想是预先创建并维护一定数量的数据库连接,这些连接可以被多个应用程序线程共享,而不是每次需要时都去创建一个新的连接。这样,通过复用已存在的连接,减少了频繁创建和关闭连接的开销,从而...

Global site tag (gtag.js) - Google Analytics