`
phantom
  • 浏览: 163144 次
社区版块
存档分类
最新评论

我自己的数据对象处理类 DBConnection

阅读更多

package com.jh.core.db.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.sql.DataSource;

import com.jh.app.util.Globle;
import com.mchange.v2.c3p0.DataSources;

public class DBConnection {
    private static Map<String ,DataSource> dsMap=new  HashMap<String ,DataSource>();;

    synchronized static public DataSource dataSource(String dbName) {
  if (dsMap.get(dbName) == null)
   try {
    if(Globle.CMS_DB.equals(dbName)){
    Class.forName("com.mysql.jdbc.Driver");
    String url="jdbc:mysql://192.168.3.41:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
    System.out.println("url="+url);
    DataSource unpooled = DataSources.unpooledDataSource(url,"root", "123456");
    DataSource ds = DataSources.pooledDataSource(unpooled);
    dsMap.put(dbName, ds);
    }else  if(Globle.TAG_DB.equals(dbName)){
     Class.forName("com.mysql.jdbc.Driver");
     String url="jdbc:mysql://192.168.3.53:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
     System.out.println("url="+url);
     DataSource unpooled = DataSources.unpooledDataSource(url,"root", "");
     DataSource ds = DataSources.pooledDataSource(unpooled);
     dsMap.put(dbName, ds); 
    }else{
     Class.forName("com.mysql.jdbc.Driver");
     String url="jdbc:mysql://192.168.3.94:3306/"+dbName+"?useUnicode=true&characterEncoding=GBK";;
     System.out.println("url="+url);
     DataSource unpooled = DataSources.unpooledDataSource(url,"root", "123456");
     DataSource ds = DataSources.pooledDataSource(unpooled);
     dsMap.put(dbName, ds); 
    }
   } catch (Exception e) {
    e.printStackTrace();
   }
  return dsMap.get(dbName);
 }

 

 // base close connection.
 public static void closeDBConnection(Connection conn) {
  try {
  
   if (conn != null) {
    conn.close();
    conn = null;
   }
  } catch (Exception e) {
   // 标签
   e.printStackTrace();
  }
  
 }

 public static void closeDBPrepared(PreparedStatement ps) {
  try {
   if (ps != null) {
    ps.close();
    ps = null;
   }
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

 public static Connection getDBConnection(String dbName) {
  Connection conn = null;
  DataSource ds = dataSource(dbName);
  try {
   conn = ds.getConnection();
  } catch (SQLException e) {
  }
  //logger.debug("返回数据库链接:" + conn);
  return conn;
 }
 public static void main(String args[]) throws Exception{
  long time=System.currentTimeMillis();
  System.out.println(getDBConnection("TagDB"));
  System.out.println(System.currentTimeMillis()-time);
  
 }
}

分享到:
评论

相关推荐

    DBConnection.rar

    在这个案例中,我们关注的是一个名为"DBConnection"的压缩包,其中包含两个文件:HtDBConnection.cpp 和 HtDBConnection.h,它们显然定义了一个C++类,用于处理Access数据库的连接、执行SQL语句以及获取数据集结果。...

    Python-一个非常友好的pymysql面向对象操作类CURD

    面向对象的方法是将这些步骤封装到一个类中,例如`DBConnection`。下面是一个简单的例子: ```python class DBConnection: def __init__(self, host, user, password, db, charset='utf8'): self.conn = pymysql....

    C#操作SQL Server数据库通用类.doc

    同时,类中还定义了一个私有的SqlConnection变量dbConnection,用于存储数据库连接对象。 打开数据库连接 OpenConnection方法用于打开数据库连接。该方法首先检查dbConnection对象是否为空,如果为空则创建一个新...

    How to Create DBConnection

    在IT行业中,数据库连接(DBConnection)是程序与数据库交互的基础。创建DBConnection通常涉及到数据库驱动、连接参数和管理数据库会话的过程。本教程将详细解释如何通过阅读`.ini`配置文件来创建数据库连接,这种...

    C#写的通用数据访问类库

    例如,可能会有一个`DBConnection`类用于建立和管理数据库连接,一个`SqlCommandExecutor`类用于执行SQL命令,以及一个`DataSetConverter`类用于将数据库结果集转换为易于使用的对象集合。 在实际应用中,这样的...

    DbHelper数据操作类.txt

    ### 一、DbHelper 数据操作类概述 在软件开发过程中,特别是涉及到数据库交互的应用程序中,频繁地使用 SQL 语句是不可避免的。为了提高代码的可读性和可维护性,以及简化数据库操作流程,通常会设计一个专门的数据...

    动态数据管道(实现数据库之间的数据导入).rar

    - 连接管理:创建数据库连接对象,如DBConnection,用于连接源数据库和目标数据库。需要配置正确的数据库驱动、用户名、密码等信息。 - 错误处理:在执行ETL过程中,可能会遇到各种错误,如网络问题、SQL语法错误等...

    从考勤机自动上传数据到服务器C#

    5. **数据库适配**: C#的ADO.NET支持多种数据库供应商,通过DbConnection、DbCommand、DbDataReader等抽象类,可以轻松切换数据库类型,只需更换具体的数据库提供程序(如SqlClient或OleDbClient)即可。这种方式...

    c#数据访问(补充资料)[整理].pdf

    - 例如,使用SqlCommand对象执行SQL命令,SqlDataAdapter对象填充DataSet或DataTable,以及Transaction对象处理事务。 7. 其他ADO.NET组件 - SqlCommand类用于执行SQL命令。 - SqlDataReader类提供只向前的、...

    C++连接数据库,连接类

    本教程将聚焦于如何在C++中实现数据库连接,主要使用面向对象的方法,即通过创建一个连接类来处理数据库交互。我们将探讨MFC(Microsoft Foundation Classes)库,这是一个为Windows应用程序开发提供支持的C++库,它...

    .net操作数据库

    - **实现**:所有 `Connection` 对象都是 `DbConnection` 类的派生类。 - **用途**:创建与数据库之间的连接,以便执行后续的数据操作。 2. **Command对象** - **定义**:`Command` 对象用于向数据源发送 SQL ...

    Mindsware动态数据对象平台v0.2版发布

    那么自动可以使用基类已经 定义好的RetreiveList, Count等显示列表、处理查询的方法,以及update, insert, delete修改数据的方法。不用再写SQL语句,不用再绑定参数,一切都是自动完成。5、有一个专门Render表格的类...

    使用ADO封装类的数据库程序开发实例.zip

    1. **封装Connection对象**:创建一个名为`DBConnection`的类,其中包含`ConnectionString`属性,用于存储数据库连接字符串。此外,还需要`Open()`和`Close()`方法来打开和关闭连接。例如: ```csharp public ...

    .NET DbHelper 数据访问类(MSSQL Mysql ORACLE)

    个人曾经写过的数据访问接口,包含:MSSQL、Mysql、Oracle等数据库的公共处理接口。可以拿过来直接使用,放在手里好多年了。 IDatabase接口声明如下: namespace Simple.Database { /// /// IDatabase 接口 /// ...

    29个PHP常用类

    3. **数据库操作类**:如`DBConnection`,简化了数据库连接、查询、插入、更新和删除等操作。 4. **日期和时间类**:如`DateTimeHelper`,提供更加灵活的日期时间处理功能,超越了PHP内置的`DateTime`类。 5. **...

    使用ADO封装类的数据库程序开发实例

    例如,我们可以创建一个DBConnection类,封装Connection对象的打开、关闭、执行SQL等操作;一个DBCommand类,用于封装Command对象的创建、设置参数、执行查询或存储过程等。 3. 连接管理: 在封装类中,通常会有一...

    asp读取access数据

    当表单提交后,这些数据将被传递给一个名为`adddatabase.asp`的ASP页面进行处理。 #### ASP处理表单数据 在`adddatabase.asp`页面中,使用`Request`对象来获取表单字段的值。例如,`CompanyName = Request(...

    asp.net对数据的简单操作

    首先,我们需要了解基础的数据访问层(DAL)和对象数据源(ObjectDataSource)。DAL是应用程序与数据库交互的接口,通常由存储过程、函数或直接SQL查询组成。ObjectDataSource则作为中间层,用于在ASP.NET页面和DAL...

    C#高级程序设计(ADO.NET架构及主要类)

    在C#高级程序设计中,理解和掌握ADO.NET架构及其主要类是至关重要的,因为这将直接影响到数据处理的效率和代码的可维护性。 **1. ADO.NET架构** ADO.NET的架构由几个关键组件构成,这些组件协同工作以实现高效的...

    dolphindb相关jar包

    对于DolphinDB的Java API,它主要包括了连接到DolphinDB服务器的类、执行脚本的方法、数据序列化和反序列化的工具以及结果集的处理等。 **连接管理:** 在使用DolphinDB Java API时,首先要建立与DolphinDB服务器的...

Global site tag (gtag.js) - Google Analytics