`

TC java数据库访问标准格式(with transaction)

阅读更多
java 代码
 
  1.  /** 
  2.   * 

     

     
  3.   * Get database connection from the db connection factory. It will set the connection to auto commit as required. 
  4.   * Note: autoCommit will be closed only for update statements, but not for query statements. 
  5.   * 

     

     
  6.   * @return A database connection. 
  7.   * @throws ChatContactPersistenceException 
  8.   *             If can't get connection or fails to set the auto commit value. 
  9.   */  
  10.  private Connection createConnection(boolean autoCommit) throws ChatContactPersistenceException {  
  11.      try {  
  12.          // create a DB connection  
  13.          Connection conn = connectionFactory.createConnection(connectionName);  
  14.   
  15.          // Begin transaction.  
  16.          conn.setAutoCommit(autoCommit);  
  17.   
  18.          return conn;  
  19.      } catch (DBConnectionException dbce) {  
  20.          throw new ChatContactPersistenceException("Can't get the connection from database.", dbce);  
  21.      } catch (SQLException sqle) {  
  22.          throw new ChatContactPersistenceException("Error while setting auto commit", sqle);  
  23.      }  
  24.  }  
  25.   
  26.  /** 
  27.   * 

     

     
  28.   * Release the connection. If not success, rollback the transaction. 
  29.   * 

     

     
  30.   * @param conn 
  31.   *            the connection. 
  32.   * @param needRollBack 
  33.   *            whether rolling back is needed. 
  34.   */  
  35.  private void releaseConnection(Connection conn, boolean needRollBack) {  
  36.      try {  
  37.          if (needRollBack && (conn != null) && !conn.isClosed()) {  
  38.              conn.rollback();  
  39.          }  
  40.      } catch (SQLException e) {  
  41.          // ignore it  
  42.      }  
  43.   
  44.      try {  
  45.          if ((conn != null) && !conn.isClosed()) {  
  46.              conn.close();  
  47.          }  
  48.      } catch (SQLException e) {  
  49.          // ignore it  
  50.      }  
  51.  }  
  52.   
  53.  /** 
  54.   * 

     

     
  55.   * Release the statement and result set. 
  56.   * 

     

     
  57.   * @param stmt 
  58.   *            the statement to release 
  59.   * @param result 
  60.   *            the result to release 
  61.   */  
  62.  private void releaseStatement(Statement stmt, ResultSet result) {  
  63.      try {  
  64.          if (result != null) {  
  65.              result.close();  
  66.          }  
  67.          if (stmt != null) {  
  68.              stmt.close();  
  69.          }  
  70.      } catch (SQLException e) {  
  71.          // ignore it  
  72.      }  
  73.  }  
  74.   
  75. public void addBuddy(long userId, long buddyUserId) throws Exception{  
  76.      Connection conn = null;  
  77.      boolean success = false;  
  78.      PreparedStatement stmt = null;  
  79.   
  80.      try {  
  81.          // create a DB connection  
  82.          conn = createConnection(false);  
  83.   
  84.          // Insert this buddy if not existed.  
  85.          stmt = conn.prepareStatement(SQL_INSERT_BUDDYUSER);  
  86.          stmt.setLong(1, userId);  
  87.          stmt.setLong(2, buddyUserId);  
  88.          stmt.executeUpdate();  
  89.   
  90.          // commit the transaction  
  91.          conn.commit();  
  92.          success = true;  
  93.      } catch (SQLException sqle) {  
  94.          throw new ChatContactPersistenceException("Error while processing sql statement", sqle);  
  95.      } finally {  
  96.          releaseStatement(stmt, null);  
  97.          releaseConnection(conn, !success);  
  98.      }  
  99.  }  
分享到:
评论

相关推荐

    java数据库驱动jar包

    在Java中,JDBC驱动程序提供了一个标准的API,使得开发人员能够使用SQL语句与各种数据库进行交互。这个压缩包包含了用于连接到SQL Server 2005的Java驱动以及JDTS驱动,它们都是实现JDBC规范的不同类型。 首先,让...

    【经典】Java数据库编程 JAVA跟数据库连接源代码

    JDBC是Java中用于访问数据库的标准接口,它提供了与多种数据库系统通信的能力。通过加载数据库驱动,建立Connection对象,我们可以创建Statement或PreparedStatement来执行SQL语句。JDBC提供了四种数据库连接方式:...

    java数据库技术详解ppt

    Java数据库技术是软件开发中的重要组成部分,特别是在企业级应用中,数据存储和处理的需求不可或缺。这份"java数据库技术详解ppt"涵盖了与Java编程语言和数据库交互的核心概念,旨在帮助开发者深入理解这一领域的...

    java访问数据库集合

    在Java编程中,访问数据库是常见的任务,涉及各种技术和框架。本文将深入探讨Java如何连接并操作数据库,包括基本的JDBC(Java Database Connectivity),以及更高级的Spring、Hibernate和MyBatis框架。 首先,JDBC...

    Java数据库系统项目开发实践

    1. **Java数据库连接(JDBC)**:Java Database Connectivity是Java语言访问数据库的标准API,它提供了一套接口和类,使得Java程序可以与各种类型的数据库进行交互。通过DriverManager、Connection、Statement、...

    java数据库基本操作

    首先,JDBC是Java平台的标准接口,它允许Java程序与各种关系型数据库进行通信。要使用JDBC,我们需要导入相关的库,例如`java.sql`包中的`Connection`, `Statement`, `ResultSet`等类。以下是一个基本的数据库连接...

    Java数据库编程案例1

    在Java编程领域,数据库操作是不可或缺的一部分,尤其是在构建企业级应用程序时。本案例"Java数据库编程案例1"着重讲解了如何使用Java与数据库进行交互,包括建立连接、执行SQL语句以及处理结果集等核心概念。 首先...

    Java数据库高级编程宝典

    - **JDBC (Java Database Connectivity)**:Java访问数据库的标准API。 - **连接池(Connection Pool)**:管理数据库连接的高效方式,减少连接和断开数据库的开销。 - **事务处理(Transaction Management)**:确保一...

    java数据库编程宝典代码

    1. JDBC(Java Database Connectivity):JDBC是Java语言中用于与各种数据库建立连接的API,它是Java平台的标准接口,允许Java程序通过SQL语句来访问和操作数据库。JDBC提供了一套规范,包括加载驱动、建立连接、...

    java 数据库编程宝典

    首先,Java数据库编程的基础在于JDBC(Java Database Connectivity),它是Java语言连接各种数据库的标准API。JDBC提供了统一的接口,使得Java程序员可以使用相同的代码访问不同的数据库系统,如MySQL、Oracle、SQL ...

    java数据库连接(所有的数据库都支持,接口及实现)

    Java数据库连接,简称JDBC(Java Database Connectivity),是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由Java API组成,允许编写Java应用程序...

    java数据库开发技巧

    1. **JDBC(Java Database Connectivity)**: JDBC是Java中连接数据库的标准API,用于执行SQL语句并与各种数据库进行交互。了解如何正确加载驱动、建立连接、创建Statement或PreparedStatement对象,以及处理结果集...

    java数据库应用程序编程指南2

    在本文中,我们将深入探讨Java数据库连接(JDBC)、数据访问对象(DAO)模式、事务管理以及SQL语句的使用等关键概念。 首先,Java数据库连接(JDBC)是Java平台的标准API,允许Java程序与各种数据库进行通信。JDBC...

    JDBC与Java数据库编程

    在Java世界中,JDBC(Java Database Connectivity)是连接Java应用程序和各种数据库的关键技术。它为开发者提供了一组标准API,使得程序可以独立于特定的数据库管理系统进行数据操作。本教程将深入探讨JDBC的核心...

    JAVA Dao 数据库操作

    - JDBC(Java Database Connectivity)是Java访问数据库的标准API,包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL以及处理结果集等步骤。 3. **连接池管理**: - 在实际应用中,使用...

    java数据库第三方包和配置java数据库第三方包和配置

    1. JDBC(Java Database Connectivity):这是Java标准API,用于与各种数据库进行通信。虽然JDBC提供了基本的数据库操作功能,但直接使用JDBC编写代码会显得繁琐,因此通常配合使用数据库驱动类,例如MySQL ...

    Java数据库高级编程宝典[专著

    首先,JDBC是Java程序员与各种数据库进行通信的标准API。通过JDBC,开发者可以实现SQL查询、数据插入、更新和删除等操作。书中可能详细讲解了如何加载驱动、建立连接、创建Statement或PreparedStatement对象、执行...

    Java 数据库编程宝典

    JDBC是Java平台的标准接口,用于连接和操作关系型数据库。通过JDBC,开发者可以执行SQL语句、处理结果集、事务管理和错误处理。了解JDBC的API,包括Connection、Statement、PreparedStatement和ResultSet等核心类,...

    java--shujuku--huiyuanguanli.zip_JAVA数据库_Java数据库系统_会员_会员管理_会员管理

    首先,Java数据库连接(JDBC)是Java与各种数据库进行交互的标准接口。通过JDBC,开发者可以编写SQL语句,执行查询、更新和删除操作。在Java项目中,我们通常使用DriverManager类来注册数据库驱动,Connection接口来...

    Java 数据库接口

    Java数据库接口,简称JDBC(Java Database Connectivity),是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,由Sun Microsystems公司(现已被Oracle收购)最初设计并提供。JDBC作为一个标准,允许...

Global site tag (gtag.js) - Google Analytics