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"的压缩包,其中包含两个文件:HtDBConnection.cpp 和 HtDBConnection.h,它们显然定义了一个C++类,用于处理Access数据库的连接、执行SQL语句以及获取数据集结果。...
面向对象的方法是将这些步骤封装到一个类中,例如`DBConnection`。下面是一个简单的例子: ```python class DBConnection: def __init__(self, host, user, password, db, charset='utf8'): self.conn = pymysql....
同时,类中还定义了一个私有的SqlConnection变量dbConnection,用于存储数据库连接对象。 打开数据库连接 OpenConnection方法用于打开数据库连接。该方法首先检查dbConnection对象是否为空,如果为空则创建一个新...
在IT行业中,数据库连接(DBConnection)是程序与数据库交互的基础。创建DBConnection通常涉及到数据库驱动、连接参数和管理数据库会话的过程。本教程将详细解释如何通过阅读`.ini`配置文件来创建数据库连接,这种...
例如,可能会有一个`DBConnection`类用于建立和管理数据库连接,一个`SqlCommandExecutor`类用于执行SQL命令,以及一个`DataSetConverter`类用于将数据库结果集转换为易于使用的对象集合。 在实际应用中,这样的...
### 一、DbHelper 数据操作类概述 在软件开发过程中,特别是涉及到数据库交互的应用程序中,频繁地使用 SQL 语句是不可避免的。为了提高代码的可读性和可维护性,以及简化数据库操作流程,通常会设计一个专门的数据...
- 连接管理:创建数据库连接对象,如DBConnection,用于连接源数据库和目标数据库。需要配置正确的数据库驱动、用户名、密码等信息。 - 错误处理:在执行ETL过程中,可能会遇到各种错误,如网络问题、SQL语法错误等...
5. **数据库适配**: C#的ADO.NET支持多种数据库供应商,通过DbConnection、DbCommand、DbDataReader等抽象类,可以轻松切换数据库类型,只需更换具体的数据库提供程序(如SqlClient或OleDbClient)即可。这种方式...
- 例如,使用SqlCommand对象执行SQL命令,SqlDataAdapter对象填充DataSet或DataTable,以及Transaction对象处理事务。 7. 其他ADO.NET组件 - SqlCommand类用于执行SQL命令。 - SqlDataReader类提供只向前的、...
本教程将聚焦于如何在C++中实现数据库连接,主要使用面向对象的方法,即通过创建一个连接类来处理数据库交互。我们将探讨MFC(Microsoft Foundation Classes)库,这是一个为Windows应用程序开发提供支持的C++库,它...
- **实现**:所有 `Connection` 对象都是 `DbConnection` 类的派生类。 - **用途**:创建与数据库之间的连接,以便执行后续的数据操作。 2. **Command对象** - **定义**:`Command` 对象用于向数据源发送 SQL ...
那么自动可以使用基类已经 定义好的RetreiveList, Count等显示列表、处理查询的方法,以及update, insert, delete修改数据的方法。不用再写SQL语句,不用再绑定参数,一切都是自动完成。5、有一个专门Render表格的类...
1. **封装Connection对象**:创建一个名为`DBConnection`的类,其中包含`ConnectionString`属性,用于存储数据库连接字符串。此外,还需要`Open()`和`Close()`方法来打开和关闭连接。例如: ```csharp public ...
个人曾经写过的数据访问接口,包含:MSSQL、Mysql、Oracle等数据库的公共处理接口。可以拿过来直接使用,放在手里好多年了。 IDatabase接口声明如下: namespace Simple.Database { /// /// IDatabase 接口 /// ...
3. **数据库操作类**:如`DBConnection`,简化了数据库连接、查询、插入、更新和删除等操作。 4. **日期和时间类**:如`DateTimeHelper`,提供更加灵活的日期时间处理功能,超越了PHP内置的`DateTime`类。 5. **...
例如,我们可以创建一个DBConnection类,封装Connection对象的打开、关闭、执行SQL等操作;一个DBCommand类,用于封装Command对象的创建、设置参数、执行查询或存储过程等。 3. 连接管理: 在封装类中,通常会有一...
当表单提交后,这些数据将被传递给一个名为`adddatabase.asp`的ASP页面进行处理。 #### ASP处理表单数据 在`adddatabase.asp`页面中,使用`Request`对象来获取表单字段的值。例如,`CompanyName = Request(...
首先,我们需要了解基础的数据访问层(DAL)和对象数据源(ObjectDataSource)。DAL是应用程序与数据库交互的接口,通常由存储过程、函数或直接SQL查询组成。ObjectDataSource则作为中间层,用于在ASP.NET页面和DAL...
在C#高级程序设计中,理解和掌握ADO.NET架构及其主要类是至关重要的,因为这将直接影响到数据处理的效率和代码的可维护性。 **1. ADO.NET架构** ADO.NET的架构由几个关键组件构成,这些组件协同工作以实现高效的...
对于DolphinDB的Java API,它主要包括了连接到DolphinDB服务器的类、执行脚本的方法、数据序列化和反序列化的工具以及结果集的处理等。 **连接管理:** 在使用DolphinDB Java API时,首先要建立与DolphinDB服务器的...