WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院WEB开发Jsp 利用ThreadLocal简化struts开发 阅读

利用ThreadLocal简化struts开发

 2008-01-05 19:59:02 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示:/* 获取connection 对象* /import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import Oracle.jdbc.driver.OracleDriver;/** * @author

/* 获取connection 对象* /
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import Oracle.jdbc.driver.OracleDriver;

/**
 * @author sfluo
 *
 * TODO To change the template for this generated type comment go to Window -
 * PReferences - Java - Code Style - Code Templates
 */
public class DBUtil {

 public static Connection conn;

 public static Connection getConnection() {

 try {

  DriverManager.registerDriver(new OracleDriver());
  conn = DriverManager.getConnection(
   "jdbc:oracle:thin:@10.100.143.161:1521:gb02", "gib", "gib");
 } catch (SQLException e) {
  e.printStackTrace();
 }

 return conn;
 }

}

利用ThreadLocal保存connection对象
package conn;

import java.sql.Connection;
import java.sql.SQLException;

/**
 * @author sfluo
 *
 * TODO To change the template for this generated type comment go to Window -
 * Preferences - Java - Code Style - Code Templates
 */
public class ConnectionManage {
 private static ThreadLocal currentConn = new ThreadLocal();

 public static Connection currentConnection() {

 Connection conn = (Connection) currentConn.get();
 if (conn == null) {
  conn = DBUtil.getConnection();
  currentConn.set(conn);
  openTransaction();
 }
 return conn;
 }

 public static void closeConnection() {
 try {
  Connection conn = (Connection) currentConn.get();
  currentConn.set(null);
  if (conn != null) {
  conn.close();
  }
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }

 }

 public static void openTransaction() {
 try {
  Connection conn = currentConnection();
  conn.setAutoCommit(false);
  conn.setTransactionIsolation(2);
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }

 }

 public static void commit() {
 try {
  Connection conn = currentConnection();
  if (conn != null)
  conn.commit();
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }


Tags:利用 ThreadLocal 简化

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接