0 0

JDBC 连接管理3

public class ConnectionUtil {
public static final ThreadLocal<Connection> tLocalconn = new ThreadLocal<Connection>();
private static Connection conn = null;
private static Driver driver= null;
    /**
     * Connection工厂 获取Connection
     */
static {

try {
driver = (Driver)Class.forName("org.logicalcobwebs.proxool.ProxoolDriver").newInstance();
DriverManager.registerDriver(driver);
conn= DriverManager.getConnection("proxool.pro_pool");
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 获取
*/
public static Connection getConnection() {
Connection connection = (Connection) tLocalconn.get();
try {
if (connection ==null) {
connection = conn;
tLocalconn.set(conn);
}
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}

/**
* 关闭
*/
public static void closeConnection() {

Connection connection = (Connection) tLocalconn.get();
tLocalconn.set(null);
try {
if (connection != null ) {
connection.close();
}

} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 开始事务
*/
public static void beginTransaction() {
Connection connection = (Connection) tLocalconn.get();
if (connection != null) {
try {
connection.setAutoCommit(false);
//connection.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 提交事物
*/
public static void commitTransaction() {
Connection connection = (Connection) tLocalconn.get();
if (connection != null) {
try {
connection.setAutoCommit(true);
connection.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

/**
*回滚
*/
public static void rollbackTransaction() {
Connection connection = (Connection) tLocalconn.get();
if (connection != null ) {
try {
connection.rollback();
} catch (SQLException e) {
e.printStackTrace();
}
}

}

上面这个类是我自己模仿HibernateUtil类,封装的JDBC连接管理类,请问行的通不
DAO 
2009年11月15日 13:20

1个答案 按时间排序 按投票排序

0 0

采纳的答案

进来了,就说一下:
Connection 不要定义为类变量.  这会导致你的Connection对象只初始化一次,也就是说你只会获得一次Connection对象.如果你用这个类会使你的程序只有一条数据库连接.

2009年11月15日 20:01

相关推荐

    JDBC连接实现简单学生管理系统(附数据库).zip

    **JDBC连接实现简单学生管理系统** 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一种标准接口。本项目“JDBC连接实现简单学生管理系统”旨在通过JDBC技术,创建一个能够连接...

    用JDBC连接OpenGauss Postgresql 实现增删改查功能的图书管理系统

    在本项目中,我们主要探讨如何使用Java的...总的来说,通过JDBC连接OpenGauss PostgreSQL数据库,并结合Java编程,我们可以构建一个功能完善的图书管理系统,实现对图书信息的增删改查,满足日常管理和用户查询的需求。

    JDBC连接数据库各种数据库参数大全

    ### JDBC连接数据库各种数据库参数详解 #### 一、Oracle8/8i/9i数据库(thin模式) 在Java中通过JDBC访问Oracle数据库时,通常采用thin驱动方式。thin驱动是一种纯Java驱动,无需依赖任何非Java代码即可完成与...

    Jdbc连接oracle远程数据库中文乱码解决

    综上所述,解决JDBC连接Oracle远程数据库时的中文乱码问题,需要从多个层面进行检查和配置,包括应用程序的配置文件、JDBC连接参数、数据库服务器设置以及开发环境等。通过细心排查和合理配置,可以有效地避免这类...

    jdbc车辆管理系统.zip

    《基于Java JDBC的车辆管理系统详解》 在信息技术日益发达的今天,车辆管理系统的开发与应用已经成为企业管理不可或缺的一部分。本文将详细解析一个名为“jdbc车辆管理系统”的项目,该项目使用Java编程语言,结合...

    jdbc连接池配置(优化连接速度)

    在IT行业中,数据库连接管理是应用系统性能优化的关键环节之一,而JDBC连接池就是解决这一问题的有效工具。本文将详细讲解JDBC连接池的工作原理、配置方法以及如何通过优化来提升连接速度。 JDBC(Java Database ...

    Jdbc连接postgresql数据库(源码+jar包)

    总结来说,"Jdbc连接postgresql数据库(源码+jar包)"资源提供了使用Java JDBC连接到PostgreSQL数据库的实例,涵盖了从加载驱动到执行SQL的基本流程,对于学习和实践非常有帮助。通过学习和理解这些代码,开发者能够...

    Tongweb5中配置JDBC连接池

    Tongweb5是一款基于Java的Web应用服务器,它支持配置JDBC连接池来管理数据库连接。本文将详细介绍如何在Tongweb5中配置JDBC连接池,以及Web应用如何通过JNDI(Java Naming and Directory Interface)查找并使用这些...

    JDBC连接Mysql数据库案例

    本案例将探讨如何使用JDBC连接MySQL数据库,并通过实际的代码示例讲解整个过程。我们将涉及以下知识点: 1. **JDBC驱动注册**: 在Java中,连接MySQL数据库首先需要加载并注册JDBC驱动。MySQL的JDBC驱动类是`...

    JDBC连接数据库步骤及代码

    ### JDBC连接数据库步骤详解 #### 一、简介 在Java开发中,经常需要与数据库进行交互,例如查询数据、更新数据等操作。为了方便开发者进行这些操作,Sun公司推出了一套标准的Java访问数据库的API——Java Database...

    JDBC数据库连接测试

    JDBC连接数据库 连接数据库通常分为以下步骤: 1. **加载驱动**:使用`Class.forName()`方法加载对应的数据库驱动。 2. **获取连接**:通过`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码来...

    Oracle 客户端JDBC连接测试工具

    Oracle客户端JDBC连接测试工具是一种实用程序,它允许开发者和系统管理员通过Java Database Connectivity (JDBC)接口测试与Oracle数据库的连接。这个工具通常包含在Oracle客户端安装中,或者可以作为一个独立的JAR...

    MySQL jdbc连接器 jdbc.zip

    MySQL JDBC 连接器,全称...总之,MySQL JDBC连接器是Java开发者不可或缺的工具,它使得我们可以方便地在Java应用中集成MySQL数据库,实现各种复杂的数据库操作,同时也需要我们关注其版本特性、性能优化以及安全实践。

    PB 通过JDBC连接SQLite

    标题 "PB 通过JDBC连接SQLite" 描述了一个使用PowerBuilder (PB) 通过Java Database Connectivity (JDBC) 驱动程序与SQLite数据库进行交互的场景。在本例中,使用的特定JDBC驱动是`sqlite-jdbc-3.23.1.jar`。这个...

    用 JDBC 管理数据库连接.doc

    Java 数据库连接(JDBC)是Java编程语言...总之,本教程涵盖了JDBC连接管理的各个方面,从基本的DriverManager到高级的数据源和连接池。通过学习和实践,开发者可以掌握构建高效、可靠的Java数据库应用程序的关键技能。

    jdbc连接各种数据库方式

    在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的标准接口。它允许Java应用程序通过发送SQL语句来...在实际开发中,合理使用JDBC连接池如HikariCP、C3P0等还能提高性能和资源管理效率。

    采用jdbc连接Impala

    在本场景中,我们关注的是如何使用JDBC连接到Impala,这是一个高性能的数据处理系统,常用于大数据分析。Impala是由Cloudera开发的开源项目,它允许实时查询Hadoop集群上的数据,而无需将数据导出到其他系统。 首先...

    jdbc连接不同数据库方法

    标题中的“jdbc连接不同数据库方法”指的是使用Java Database Connectivity (JDBC) API来与不同的数据库进行交互的方法。JDBC是Java平台中用于访问数据库的标准Java API,它允许开发者执行SQL语句并处理结果。 在...

    Java JDBC学生数据管理系统

    在这个学生数据管理系统中,JDBC被用来连接到数据库,执行SQL命令,例如,当用户想要添加新的学生信息时,系统会创建一个PreparedStatement,设置参数,然后执行executeUpdate()来插入数据;在查询学生信息时,系统...

    spring声明式事务管理+jdbc+连接池

    spring声明式事务管理+jdbc+连接池 包内为代码,下载可直接执行。 一直用s2sh,感觉hibernate不好用,所以写了一个spring声明式事务管理+jdbc+连接池。

Global site tag (gtag.js) - Google Analytics