`

/* 数据访问组件 */

    博客分类:
  • Java
阅读更多

 import java.io.*;
import java.util.*;
import java.sql.*;

public class DBPool{
    private static DBPool instance = null;

    //取得连接
    public static synchronized Connection getConnection() {
        if (instance == null){
            instance = new DBPool();
        }
        return instance._getConnection();
    }

    private DBPool(){
        super();
    }

    private  Connection _getConnection(){
        try{
            String sDBDriver  = null;
            String sConnection   = null;
            String sUser = null;
            String sPassword = null;

            Properties p = new Properties();
   InputStream is = getClass().getResourceAsStream("/db.properties");
            p.load(is);
            sDBDriver = p.getProperty("DBDriver",sDBDriver);
            sConnection = p.getProperty("Connection",sConnection);
            sUser = p.getProperty("User","");
            sPassword = p.getProperty("Password","");

            Properties pr = new Properties();
            pr.put("user",sUser);
            pr.put("password",sPassword);
            pr.put("characterEncoding", "GB2312");
            pr.put("useUnicode", "TRUE");

            Class.forName(sDBDriver).newInstance();
            return DriverManager.getConnection(sConnection,pr);
        }
        catch(Exception se){
            System.out.println(se);
            return null;
        }
    }

    //释放资源
    public static void dbClose(Connection conn,PreparedStatement ps,ResultSet rs)
    throws SQLException
    {
          rs.close();
          ps.close();
          conn.close();
      }
    }

分享到:
评论

相关推荐

    GoAhead 2.5源代码分析.pdf

    group=RS /* 可访问该文件的组 */ ``` #### 四、关键函数分析 - **umOpen()** - 功能是在数据库中注册UM表。如果`didUM`为-1,则注册数据库,包括用户表、用户组表、访问控制表。如果`saveFilename`为空,则分配一...

    通用的数据库访问组件

    综上所述,这个“通用的数据库访问组件”通过C#实现了跨数据库平台的访问,为开发者提供了一个高效、灵活且易于维护的数据操作工具。无论是用于小型项目还是大型企业级应用,都能显著提高开发效率,降低维护成本。...

    数据访问组件使用(C#,vb)内含数据库

    数据访问组件是.NET框架中用于与数据库交互的重要工具,它提供了高效、安全且易于使用的接口。在本项目中,我们关注的是如何使用C#和VB.NET这两种.NET编程语言来实现数据访问。通过提供的5个DEMO,我们可以深入理解...

    (完整版)DELPHI常用英文单词.doc

    - **ADOConnection/ADOQuery/DataSource/DBGrid**:数据库连接、数据查询、数据源组件和数据网格,用于数据库操作。 2. **组件属性(Properties)** - **Name**:组件的唯一标识。 - **Caption**:组件上显示的...

    delphi控件属性和事件

    13. **Components**:列出并管理组件内的所有子组件,支持对其操作和访问。 14. **ComponentIndex/Count**:反映组件在父组件子组件列表中的位置和数量,便于管理和查找。 15. **Constraints**:限定组件大小...

    小额网贷源码 可封装app.zip

    5.访问http://***/index.php查看是否可用 6.如提示 500 错误,请检查服务器环境 三、设置创始人管理密码 程序目前还不能正常使用,还需要设置创始人管理密码 因创始人密码加密符为多次加密且以当前部署域名混合 此...

    Sas 9.2 认证文件(到2010.9.30)

    - **HP Neoview**:支持HP Neoview数据仓库平台的数据访问。 - **MySQL**:使用户能够直接从MySQL数据库获取数据。 - **Netezza**:为Netezza高性能分析设备提供接口。 - **ODBC**:通过开放数据库连接(ODBC)驱动...

    使用数据模块简化数据访问

    - **数据组件**:如`Database`、`DataSet`、`DataStore`等组件,用于实现具体的数据访问操作。 - **`getter`方法**:自动生成的用于获取数据组件的方法,使得外部可以通过这些方法访问数据模块内的组件。 #### 五、...

    primefaces_users_guide_3_3.pdf

    - **Captcha**:验证码组件,用于防止机器人访问。 - **Carousel**:轮播图,展示多张图片或内容块。 - **CellEditor**:单元格编辑器,允许在表格中编辑单个单元格。 - **Charts**: - **PieChart**:饼状图,用于...

    Vue数据双向绑定以及组件化简介

    1. **定义组件**:首先需要定义一个组件,可以通过Vue.extend方法创建一个组件类。 ```javascript var MyComponent = Vue.extend({ template: '<p>{{ msg }}</p>' }); ``` 2. **注册组件**:定义好组件之后,...

    数据库访问组件

    1. **数据访问对象(DAO)**:DAO是一种设计模式,用于创建与数据库交互的接口,它将业务逻辑和数据库操作分离开来,提高代码的可维护性和可测试性。 2. **连接池**:为了提高性能和资源利用率,数据库访问组件通常...

    LaunchPad原理图文件

    - **P2.6/ADC12CLK/DMAE0:** ADC时钟/直接内存访问使能 - **P2.7/TA0:** 定时器A计数器输入 - **P3.0/STE0:** SPI片选 - **P3.1/SIMO0/SDA:** SPI数据输入/I2C串行数据线 - **P3.2/SOMI0:** SPI数据输出 - **P...

    数据层组件

    - **NoSQL数据访问组件**:如MongoDB的Mongoose(Node.js)、Couchbase SDKs等,针对非关系型数据库提供操作接口。 选择合适的数据层组件应考虑项目的需求、技术栈以及团队的熟悉程度。对于大型项目,可能需要...

    从Excel快速通过/检索数据的组件

    5. **安全性**:由于涉及到敏感数据,ExcelCommunicator可能包含安全措施,如身份验证和权限控制,以保护数据不被未经授权的访问。 6. **性能优化**:考虑到大量数据处理的性能问题,组件可能会采用缓存策略、多...

    大数据各组件安装(数据中台搭建)所需安装包

    在构建大数据平台,尤其是数据中台的过程中,安装各种组件是至关重要的步骤。本文将详细讲解大数据各组件安装的流程及所需安装包,旨在帮助你理解并成功搭建数据中台。 首先,我们需要理解“大数据”这一概念。...

    一个感觉不错的.NET数据层访问组件,封装的不错

    作为一个优秀的数据访问组件,LzDal很可能提供了以下功能: 1. **对象关系映射(ORM)**:LzDal可能实现了ORM技术,允许开发者使用面向对象的方式来操作数据库,无需编写大量的SQL语句。ORM简化了数据库操作,提高...

    20.(vue3.x+vite)Vue子组件和父组件执行顺序.rar

    此时,父组件可以访问到真实的DOM节点。 4. **子组件的挂载**:接着,子组件的`onBeforeMount`和`mounted`钩子也会被执行,表示子组件的DOM也被创建并挂载到父组件的DOM中。至此,子组件已经完全准备就绪,可以进行...

    深入探讨Vue.js组件和组件通信

    1. **定义组件**:通过`Vue.extend()`方法创建一个组件类,定义其模板、属性、方法等。 ```javascript var Profile = Vue.extend({ template: "<div> Lily </div>" }); ``` 2. **注册组件**:注册组件有两种...

Global site tag (gtag.js) - Google Analytics