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

DBManager

    博客分类:
  • jdk
 
阅读更多

 

public class DBManager {

	private final static ThreadLocal<Connection> conns = new ThreadLocal<Connection>();

	public final static Connection getConnection() throws SQLException {
		Connection conn = (Connection) conns.get();
		if (conn == null || conn.isClosed()) {
			conn = ConnectionProvider.getConnection();
			conns.set(conn);
		}
		return new _DebugConnection(conn).getConnection();
	}

	public final static void closeConnection() {
		Connection conn = (Connection) conns.get();
		try {
			if (conn != null && !conn.isClosed()) {
				conn.setAutoCommit(true);
				conn.close();
			}
		} catch (SQLException e) {
		}
		conns.set(null);
	}

	static class _DebugConnection implements InvocationHandler {
		private Connection conn = null;

		public _DebugConnection(Connection conn) {
			this.conn = conn;
		}

		public Connection getConnection() {
			return (Connection) Proxy.newProxyInstance(conn.getClass()
					.getClassLoader(), new Class[] { Connection.class }, this);
		}

		public Object invoke(Object proxy, Method m, Object[] args)
				throws Throwable {
			try {
				String method = m.getName();
				if ("prepareStatement".equals(method)
						|| "createStatement".equals(method)) {
					System.out.println(method);
					System.out.println(args[0]);
				}
				return m.invoke(conn, args);
			} catch (InvocationTargetException e) {
				throw e.getTargetException();
			}
		}
	}

	static class ConnectionProvider {
		public static Connection getConnection() {
			Connection connection = null;
			try {

				Class.forName("oracle.jdbc.OracleDriver").newInstance();
				connection = DriverManager.getConnection(
						"jdbc:oracle:thin:@192.168.0.32:1521:orcl", "omc",
						"omc");
			} catch (Exception e) {
			}
			return connection;
		}
	}
}

 

分享到:
评论

相关推荐

    WP-DBManager2.50 简体中文包插件 for WordPress.zip

    WP-DBManager2.50 简体中文包插件 插件使用方法: 1.上传到插件目录,在WordPress控制面板激活插件。 2.插件激活之后,会在wp-content目录生成一个backup-db的目录,目录的默认需要的权限是:777。   ...

    DBManager prosetup3.4.7

    DBManager是一款专业的数据库管理工具,尤其以其专业版——DBManager prosetup3.4.7而备受推崇。这个版本相比免费版具有更多的高级功能和优化特性,使得数据库管理和维护变得更加高效和便捷。 首先,DBManager ...

    JAVA DbManager类连接数据连(msssql 2005)JDBC

    本示例将详细介绍如何使用Java的DbManager类连接到Microsoft SQL Server 2005数据库,这是一个非JAR包的实现方式。 首先,让我们了解一下JDBC的基本概念。JDBC提供了一套接口和类,使得Java应用程序可以通过这些...

    DBManager数据库

    【DBManager数据库】是一个基于.NET框架的数据库管理解决方案,它采用了设计模式中的“简单工厂”模式,以实现数据库操作的灵活性和可扩展性。简单工厂模式是一种类创建型设计模式,能够使代码在不指定具体类的情况...

    DBManager Professional 3.4.6

    DBManager Professional 3.4.6是一款专为数据库管理和维护设计的专业级软件工具。相比于它的免费版本,专业版提供了更多高级特性和功能,旨在提升数据库管理员的工作效率和数据管理的准确性。这款软件适用于多种...

    java dbmanager

    java dbmanager

    DBManager.java

    DBManager.java

    数据库备份插件WP-DBManager

    WP-DBManager插件介绍: WP-DBManager是wordpress的数据备份插件,目前最新版本为2.40,其主要用途是对WordPress 的数据库进行管理,从而省去了用户必须使用类似PhpMyadmin登录数据库进行备份、修复、导入等操作,...

    DBTools DBManager Professional Enterprise Edition V3.4.6

    DBTools DBManager Professional Enterprise Edition V3.4.6是一款针对企业级数据库管理的专业软件,集成了多种数据库管理和维护功能,旨在提升数据库管理员的工作效率和数据安全性。在这个版本中,我们聚焦于性能...

    DbManager数据库Script生成软件

    DbManager数据库Script生成软件是一款专为数据库管理人员设计的高效工具,它简化了数据库脚本的创建和管理工作。这款软件的核心功能在于提供一个直观的界面,让用户能够轻松地管理和生成SQL脚本,这对于数据库的备份...

    DBManager Free_Standard Edition 3.2.4

    这款应用程序是支持MySQL, PostgreSQL, Interbase/Firebird, Sqlite, Oracle, Access, MSSQL, Sybase, DBF Tables 和 ODBC 数据库的管理软件,它内置了先进的功能,例如:任务编辑器;服务监控器;...

    Python-DBManager - 数据处理引擎,基于Python的数据库操作助手

    内容概要: "Python 实现对数据库的操作" 是一个涵盖了使用Python编程语言来执行各种数据库管理任务的广泛主题。这包括但不限于数据库的连接、查询、插入、更新、删除数据等基本操作,以及更高级的功能如事务管理、...

    wince5.0SqlCeExaple.rar_SQLce_WinCE DBManager_wince 数据库_windowsc

    本项目"SQLce_WinCE DBManager_wince 数据库_windowsce"提供了关于如何在Windows CE 5.0上使用SQL CE进行数据库编程的源代码示例。 首先,我们需要理解SQL CE的核心概念。SQL CE是Microsoft SQL Server的一个精简版...

    用Spring开Swing程序----DBManager(数据库查看器)

    《使用Spring构建Swing程序——DBManager(数据库查看器)》 在Java开发领域,Spring框架因其强大的依赖注入和面向切面编程能力而备受青睐,不仅在Web应用中广泛使用,也可以应用于桌面应用,如Swing程序。这篇博客...

    DBManager Professional Enterprise Edition 3.4.7

    access数据库转换为sqlite3,是许多开发者会遇到的一个难题,这个工具可以让这种转换轻松完成

    DBTools Manager(DBManager) Professional v3.1.2

    MySQL, PostgreSQL, Interbase, Firebird, SQLite and XBase Tables,Oracle, MSSQL Server/MSDE, MSAccess, Sybase and ODBC 的数据库管理器 官方有些独立的免费版本

    DBManager (Database Abstraction Layer)-开源

    DBManager是一个开源项目,主要目的是为Java应用程序提供一个数据库抽象层。这个库使得开发者能够更加容易地处理数据库操作,而不必直接与JDBC接口打交道,从而降低了代码的复杂性和数据库依赖性。通过隐藏底层...

Global site tag (gtag.js) - Google Analytics