锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品亚洲国产成AV人片传媒,亚洲精品视频在线免费,亚洲阿v天堂在线http://www.tkk7.com/hnicypb/category/34332.html鐧婚珮鑰呭繀鑷崙錛岃榪滆呭繀鑷咯錛屽湪榪欎釜涓栫晫涓婏紝閲嶈鐨勪笉鏄綘姝g珯鍦ㄩ偅閲岋紝鑰屾槸浣犳鏈濅粈涔堟柟鍚戠Щ鍔?..... zh-cnTue, 09 Sep 2008 02:28:15 GMTTue, 09 Sep 2008 02:28:15 GMT60JSF鍏ラ棬涓庢彁楂樼洰褰曪紙鏈夊疄渚嬪瓙錛?http://www.tkk7.com/hnicypb/articles/227874.htmlSky YiSky YiTue, 09 Sep 2008 02:21:00 GMThttp://www.tkk7.com/hnicypb/articles/227874.htmlhttp://www.tkk7.com/hnicypb/comments/227874.htmlhttp://www.tkk7.com/hnicypb/articles/227874.html#Feedback0http://www.tkk7.com/hnicypb/comments/commentRss/227874.htmlhttp://www.tkk7.com/hnicypb/services/trackbacks/227874.html鍏ラ棬
钘夌敱浠ヤ笅鐨勫嚑涓富棰橈紝鍙互澶ц嚧浜嗚ВJSF鐨勮疆寤撲笌鐗規э紝鎴戜滑鏉ョ湅鐪嬬綉欏佃璁′漢鍛樹笌搴旂敤紼嬪簭璁捐浜哄憳鍚勮礋璐d粈涔堛?br /> o 綆浠婮SF
o 絎竴涓狫SF紼嬪簭
o 綆鍗曠殑瀵艱埅 Navigation
o 瀵艱埅瑙勫垯璁劇疆
o JSF Expression Language
o 鍥介檯鍖栬鎭?/a>
Managed Beans
JSF 浣跨敤 Bean 鏉ヨ揪鍒伴昏緫灞備笌琛ㄧ幇灞傚垎紱葷殑鐩殑錛孊ean 鐨勭鐞嗛泦涓湪緇勬佹。妗堜腑錛屾偍鍙淇敼緇勬佹。妗堬紝灝卞彲浠ヤ慨鏀?Bean 涔嬮棿鐨勭浉渚濆叧緋匯?br /> o
Backing Beans
o Beans 鐨勭粍鎬佷笌璁懼畾
o Beans 涓婄殑 List, Map
鏁版嵁杞崲涓庨獙璇?/strong>
杞崲鍣紙Converter錛夊崗鍔╂ā鍨嬩笌瑙嗗浘涔嬮棿鐨勬暟鎹漿鎹紝楠岃瘉鍣紙Validator錛夊崗鍔╄繘琛岃鎰忔楠岋紙Semantic Validation錛夈?br /> o 鏍囧噯杞崲鍣?/a>
o
鑷杞崲鍣?/a>
o
鏍囧噯楠岃瘉鍣?/a>
o
鑷楠岃瘉鍣?/a>
o
閿欒璁伅澶勭悊
o 鑷杞崲, 楠岃瘉鏍囩
浜嬩歡澶勭悊
JSF鐨勪簨浠舵ā鍨嬫彁渚涗竴涓繎浼肩殑妗岄潰GUI浜嬩歡妯″紡錛岃鐔熸倝GUI璁捐鐨勪漢鍛樹篃鑳藉揩閫熶笂鎵媁eb紼嬪簭璁捐銆?br /> o 鍔ㄤ綔浜嬩歡
o 瀹炴椂浜嬩歡
o 鍊煎彉浜嬩歡
o Phase 浜嬩歡
銆JSF 鏍囩

銆銆緗戦〉璁捐浜哄憳瑕佷綔鐨勫氨鏄簡瑙SF鐨勬爣絳劇殑浣跨敤鏂瑰紡錛岃繖灝卞儚鏄涔犺繘闃剁殑HTML鏍囩錛屽彟涓浠朵簨灝辨槸涓庣▼搴忚璁′漢鍛樻矡閫氬ソ鍚勪釜Bean鐨勫悕縐扮粦瀹氥?/p>

鏍囩鍏ラ棬
鍗鋒爣鐨勭浉鍏沖睘鎬ф煡璇紝鎮ㄥ彲浠ュ弬鑰?Tag Library Documentation錛岃繖杈圭殑浠嬬粛鍙槸涓浜涚畝鍗曠殑鍏ラ棬瀹炰緥銆?br /> o 綆浠婮SF鏍囧噯鏍囩
o 杈撳嚭綾繪爣絳?/a>
o
杈撳叆綾繪爣絳?/a>
o
鍛戒護綾繪爣絳?/a>
o
閫夋嫨綾繪爣絳?涓
o 閫夋嫨綾繪爣絳?浜?/a>
o
鍏跺畠鏍囩
琛ㄦ牸澶勭悊
瀵逛簬蹇呴』浣跨敤琛ㄦ牸鏂瑰紡鍛堢幇鐨勬暟鎹紝JSF 鐨?<h:dataTable> 鍗鋒爣鍗忓姪鎮ㄨ繘琛屽姩鎬佽〃鏍兼暟鎹殑杈撳嚭銆?br /> o 綆鍗曠殑琛ㄦ牸
o 琛ㄥご, 琛ㄥ熬
o TableModel 綾誨埆
銆鑷緇勪歡

銆銆JSF 璁╂偍鍙互鑷緇勪歡錛屾瘡涓粍浠墮兘鏄彲鏇挎崲鐨勶紝榪欎嬌寰楃粍浠跺湪鎼厤鏃舵洿鏈夊脊鎬э紝浣嗙浉瀵圭殑鍗翠嬌寮鍙戠粍浠剁殑榪囩▼澶嶆潅鐨勫錛岃繖杈瑰鑷JSF 緇勪歡鍙槸涓叆闂ㄧ爾錛屾洿澶氭湁鍏寵嚜璁㈢粍浠剁殑緇嗚妭鍙緱瑕佷笓涔︽潵璇存槑銆?/p>

JSF 鐢熷懡鍛ㄦ湡涓庣粍浠舵榪?/strong>
瑕佸紑鍙?JSF 緇勪歡錛屾偍闇瑕佹洿娣卞叆浜嗚В JSF 鐨勪竴浜涘鐞嗙粏鑺傦紝鍖呮嫭浜?JSF 鐢熷懡鍛ㄦ湡浠ュ強 JSF 妗嗘灦銆?br /> o JSF 鐢熷懡鍛ㄦ湡
o 姒傝堪鑷緇勪歡
綆鍗曞疄渚?/strong>
鍦ㄤ笉鑰冭檻緇勪歡鏈夊瓙緇勪歡鐨勬儏鍐典笅錛岃繖杈逛互瀹為檯鐨勪竴涓緥瀛愭潵璇存槑寮鍙戠粍浠剁殑榪囩▼錛岃嚦浜庤冭檻瀛愮粍浠剁殑鎯呭喌璇峰弬鑰冧笓涔︿粙緇嶃?br /> o 緙栫爜, 璇戠爜
o 緇勪歡鍗鋒爣
o 浣跨敤鑷緇勪歡
o 鑷 Renderer

 



Sky Yi 2008-09-09 10:21 鍙戣〃璇勮
]]>
鏁版嵁搴撴搷浣滅鐞嗙被http://www.tkk7.com/hnicypb/articles/226725.htmlSky YiSky YiWed, 03 Sep 2008 09:19:00 GMThttp://www.tkk7.com/hnicypb/articles/226725.htmlhttp://www.tkk7.com/hnicypb/comments/226725.htmlhttp://www.tkk7.com/hnicypb/articles/226725.html#Feedback0http://www.tkk7.com/hnicypb/comments/commentRss/226725.htmlhttp://www.tkk7.com/hnicypb/services/trackbacks/226725.html 

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import org.apache.log4j.Logger;

/**
 * 鏁版嵁搴撴搷浣滅鐞嗙被
 *
 * @author Harlyhood
 *
 */
public class DBManager {

 // --------------------------------------------------------- Instance
 private static Logger logger = Logger.getLogger(DBManager.class);
 // --------------------------------------------------------- Methods

 // 鏁版嵁搴撹繛鎺ュ璞?br />  private Connection con;
 // SQL璇彞瀵硅薄
 private Statement stmt;
 // 甯﹀弬鏁扮殑Sql璇彞瀵硅薄
 private PreparedStatement pstmt;
 // 璁板綍闆嗗璞?br />  private ResultSet rs;
 // 鏁版嵁榪炴帴綆$悊錛堣繛鎺ユ睜瀵硅薄錛?br />  private DBConnectionManager dcm = null;

 /** ***********************鎵嬪姩璁劇疆鐨勮繛鎺ュ弬鏁?******************************** */
 @SuppressWarnings("unused")
 private static String _DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 @SuppressWarnings("unused")
 private static String _URL = "jdbc:sqlserver://localhost:1433;database=Hospital_AI_DB;characterEncoding=gb2312";
 @SuppressWarnings("unused")
 private static String _USER_NA = "sa";
 @SuppressWarnings("unused")
 private static String _PASSWORD = "";

 /** ********************************************************************** */

 // 榛樿鏋勯?br />  public DBManager() {
 }

 /** ****************************************************************************************** */
 /**
  * **************************************** 鏁版嵁搴撹繛鎺ュ垵濮嬪寲
  * ***********************************
  */
 /** ****************************************************************************************** */

 /**
  * 寰楀埌涓涓粯璁ょ殑鏁版嵁搴撹繛鎺浠?com.hospital.dao.tools.db.properties鏂囦歡鍒濆鍖朷
  *
  * @throws Exception
  */
 private void getConnection() {
  logger.info("###############open:::::浠庨粯璁ょ殑閰嶇疆鏂囦歡寰楀埌涓涓暟鎹簱榪炴帴");
  // 鑾峰彇涓涓繛鎺ユ睜綆$悊綾葷殑瀹炰緥
  dcm = DBConnectionManager.getInstance();
  // 寰楀埌涓涓暟鎹簱榪炴帴
  con = dcm.getConnection("mysql");

  try {
   con.setAutoCommit(false);
  } catch (SQLException e) {

   e.printStackTrace();
  }
 }

 /**
  * 浠庢寚瀹氬弬鏁板緱鍒頒竴涓繛鎺ュ璞?br />   *
  * @param driver
  * @param url
  * @param user_na
  * @param password
  * @throws Exception
  */
 public void getConnection(String driver, String url, String user_na,
   String password) throws Exception {
  try {
   logger.info("###############open:::::浠庢寚瀹氶厤緗腑寰楀埌涓涓暟鎹簱榪炴帴");
   Class.forName(driver);
   con = DriverManager.getConnection(url, user_na, password);
  } catch (ClassNotFoundException ex) {
   logger
     .info("###############Error[com.hospital.dao.tools.DBManager^^^Method:getConnection^^^Line:81]鎵句笉鍒扮被椹卞姩綾? "
       + driver);
   throw ex;
  } catch (SQLException ex) {
   logger
     .info("###############Error[com.hospital.dao.tools.DBManager^^^Method:getConnection^^^Line:81]鍔犺澆綾? "
       + driver + " 鏃跺嚭鐜?SQLException 寮傚父");
   throw ex;
  }
 }

 /** ****************************************************************************************** */
 /**
  * **************************************** 鏁版嵁搴撴搷浣滄柟娉?br />   * ***********************************
  */
 /** ****************************************************************************************** */

 /**
  * 鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏃犲弬鏁?
  *
  * @param strSql
  *            SQL璇彞
  * @throws Exception
  */
 public boolean executeUpdate(String strSql) throws SQLException {
  getConnection();
  // getConnection(_DRIVER,_URL,_USER_NA,_PASSWORD);
  boolean flag = false;
  stmt = con.createStatement();
  logger.info("###############::鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏃犲弬鏁?:" + strSql);
  try {
   if (0 < stmt.executeUpdate(strSql)) {
    close_DB_Object();
    flag = true;
    con.commit();
   }
  } catch (SQLException ex) {
   logger
     .info("###############Error DBManager Line126::鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏃犲弬鏁?:"
       + strSql + "澶辮觸!");
   flag = false;
   con.rollback();
   throw ex;
  }
  return flag;

 }

 /**
  * 鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏈夊弬鏁?
  *
  * @param strSql
  *            sql鎸囦護
  * @param prams
  *            鍙傛暟鍒楄〃
  * @return
  * @throws SQLException
  */
 public boolean executeUpdate(String strSql, HashMap<Integer, Object> prams)
   throws SQLException, ClassNotFoundException {
  getConnection();
  // getConnection(_DRIVER,_URL,_USER_NA,_PASSWORD);
  boolean flag = false;
  try {
   pstmt = con.prepareStatement(strSql);
   setParamet(pstmt, prams);
   logger.info("###############::鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏈夊弬鏁?:" + strSql);

   if (0 < pstmt.executeUpdate()) {
    close_DB_Object();
    flag = true;
    con.commit();
   }
  } catch (SQLException ex) {
   logger
     .info("###############Error DBManager Line121::鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏃犲弬鏁?:"
       + strSql + "澶辮觸!");
   flag = false;
   con.rollback();
   throw ex;
  } catch (ClassNotFoundException ex) {
   logger
     .info("###############Error DBManager Line152::鎵цSQL璇彞鎿嶄綔(鏇存柊鏁版嵁 鏃犲弬鏁?:"
       + strSql + "澶辮觸! 鍙傛暟璁劇疆綾誨瀷閿欒!");
   con.rollback();
   throw ex;
  }
  return flag;

 }

 /**
  * 鎵цSQL璇彞鎿嶄綔(鏌ヨ鏁版嵁 鏃犲弬鏁?
  *
  * @param strSql
  *            SQL璇彞
  * @return 鏁扮粍瀵硅薄鍒楄〃
  * @throws Exception
  */
 public ArrayList<HashMap<Object, Object>> executeSql(String strSql)
   throws Exception {
  getConnection();
  // getConnection(_DRIVER,_URL,_USER_NA,_PASSWORD);
  stmt = con.createStatement();
  logger.info("###############::鎵цSQL璇彞鎿嶄綔(鏌ヨ鏁版嵁):" + strSql);
  rs = stmt.executeQuery(strSql);
  con.commit();
  if (null != rs) {
   return convertResultSetToArrayList(rs);
  }
  close_DB_Object();
  return null;
 }

 /**
  * 鎵цSQL璇彞鎿嶄綔(鏌ヨ鏁版嵁 鏈夊弬鏁?
  *
  * @param strSql
  *            SQL璇彞
  * @param prams
  *            鍙傛暟鍒楄〃
  * @return 鏁扮粍瀵硅薄鍒楄〃
  * @throws Exception
  */
 public ArrayList<HashMap<Object, Object>> executeSql(String strSql,
   HashMap<Integer, Object> prams) throws Exception {
  getConnection();
  // getConnection(_DRIVER,_URL,_USER_NA,_PASSWORD);
  pstmt = con.prepareStatement(strSql);
  setParamet(pstmt, prams);
  logger.info("###############::鎵цSQL璇彞鎿嶄綔(鏌ヨ鏁版嵁):" + strSql);
  rs = pstmt.executeQuery();
  con.commit();
  if (null != rs) {
   return convertResultSetToArrayList(rs);
  }
  return null;
 }

 /**
  * 鎵ц瀛樺偍榪囩▼(鏌ヨ鏁版嵁 鏃犲弬鏁?
  *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @return 鏁扮粍鍒楄〃瀵硅薄
  * @throws Exception
  */
 public ArrayList<HashMap<Object, Object>> executeProcedureQuery(
   String procName) throws Exception {
  getConnection();// 鑾峰彇榪炴帴
  String callStr = "{call " + procName + "}";// 鏋勯犳墽琛屽瓨鍌ㄨ繃紼嬬殑sql鎸囦護
  CallableStatement cs = con.prepareCall(callStr);
  logger.info("###############::鎵ц瀛樺偍榪囩▼(鏌ヨ鏁版嵁):" + procName);
  rs = cs.executeQuery();
  con.commit();
  cs.close();
  close_DB_Object();
  return convertResultSetToArrayList(rs);
 }

 /**
  * 鎵ц瀛樺偍榪囩▼(鏌ヨ鏁版嵁,甯﹀弬鏁?榪斿洖緇撴灉闆嗗悎
  *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @param parameters
  *            鍙傛暟瀵硅薄鏁扮粍
  * @param al
  *            鏁扮粍鍒楄〃瀵硅薄
  * @return 鏁扮粍鍒楄〃瀵硅薄
  * @throws Exception
  */
 public ArrayList<HashMap<Object, Object>> executeProcedureQuery(
   String procName, Object[] parameters) throws Exception {
  int parameterPoint = 0;
  // 鑾峰彇瀛樺偍榪囩▼淇℃伅鍒楄〃闆嗗悎
  ArrayList<HashMap<Object, Object>> procedureInfo = getProcedureInfo(procName);
  // 鑾峰彇瀛樺偍榪囩▼鐨勫畬鍏ㄥ悕縐?br />   String procedureCallName = getProcedureCallName(procName,parameters.length);
  // 鑾峰彇榪炴帴瀵硅薄
  getConnection();
  // 鍒濆鍖?瀛樺偍榪囩▼ 鎵ц瀵硅薄
  CallableStatement cs = con.prepareCall(procedureCallName);
  // 鍙傛暟涓嬫爣鍙橀噺
  int index = 0;
  // 鑾峰彇 瀛樺偍榪囩▼淇℃伅鍒楄〃闆嗗悎鐨?榪唬鍣?瀵硅薄
  Iterator<HashMap<Object, Object>> iter = procedureInfo.iterator();
  // 閬嶅巻瀛樺偍榪囩▼淇℃伅鍒楄〃闆嗗悎
  while (iter.hasNext()) {
   HashMap<Object, Object> hm = iter.next();

   parameterPoint++;
   // 濡傛灉鍙傛暟鏄緭鍏ュ弬鏁?way = 0
   if (hm.get("WAY").equals("0")) {
    // 璁劇疆鍙傛暟鍒癱s
    cs.setObject(parameterPoint, parameters[index]);
    // 鍙傛暟涓嬫爣+1
    index++;
   }
  }
  // 閲婃斁榪欎釜瀵硅薄,鍋氫負絎簩嬈′嬌鐢?br />   procedureInfo = null;
  logger.info("###############::鎵ц瀛樺偍榪囩▼(鏌ヨ鏁版嵁):::::" + procedureCallName);
  rs = cs.executeQuery();
  con.commit();
  procedureInfo = convertResultSetToArrayList(rs);
  cs.close();
  close_DB_Object();
  return procedureInfo;

 }

 /**
  * 鎵ц瀛樺偍榪囩▼(鏇存柊錛屾煡璇㈡暟鎹甗綆鍗曟煡璇€侀潪綰綍闆哴錛岃繑鍥炶緭鍑哄弬鏁癧闈炵邯褰曢泦])
  *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @param parameters
  *            鍙傛暟瀵硅薄鏁扮粍
  * @param os
  *            杈撳嚭鍙傛暟瀵硅薄鏁扮粍
  * @return 杈撳嚭鍙傛暟瀵硅薄鏁扮粍
  * @throws Exception
  */
 public Object[] executeProcedureUpdate(String procName, Object[] parameters)
   throws Exception {
  logger.info("------------------------------------------------------------------------------------------------------");
  logger.info(" Run --> executeProcedureUpdate ##############   姝e湪鎵ц 瀛樺偍榪囩▼: " + procName +"   ##############");
  CallableStatement cs = null;
  Object []returnVal = null;
  try {
  // 鑾峰彇 瀛樺偍榪囩▼ 璋冪敤鍏ㄥ悕
  String fullPCallName = getProcedureCallName(procName,parameters.length);
  logger.info(" Run --> executeProcedureUpdate #   瀛樺偍榪囩▼鍛戒護: " + fullPCallName +"   #");
  //鑾峰彇瀛樺偍榪囩▼鍙傛暟淇℃伅
  ArrayList<HashMap<Object, Object>> p_Call_Info_List = getProcedureInfo(procName);
  //鑾峰彇榪炴帴
  getConnection();
  //鍒涘緩 瀛樺偍榪囩▼ 鎵ц瀵硅薄
  cs = con.prepareCall(fullPCallName);
  //鏁扮粍涓嬫爣
  int index = 1;
  //杈撳嚭鍙傛暟涓嬫爣 綰綍
        ArrayList<Integer> outPutIndexList = new ArrayList<Integer>();
        logger.info(" Run --> executeProcedureUpdate #   鍙傛暟涓暟鏄? " + parameters.length +"   #");
  for(HashMap<Object,Object> tempHash:p_Call_Info_List)
  {
   if("0".equals(tempHash.get("WAY")))
      {
    //璁劇疆杈撳叆鍙傛暟
    cs.setObject(index, parameters[index-1]);
    logger.info(" Run --> executeProcedureUpdate #   杈撳叆 Input: 緙栧彿:" + index +" 鍊? "+parameters[index-1]+" 綾誨瀷: "+parameters[index-1].getClass()+"   #");
   }
   else
   {
    //娉ㄥ唽杈撳嚭鍙傛暟
    cs.registerOutParameter(index, getDataType(tempHash.get("TYPENAME").toString()));
    //綰綍杈撳嚭鍙傛暟鐨勪笅鏍?br />     outPutIndexList.add(index);
    logger.info(" Run --> executeProcedureUpdate #   杈撳嚭 OutPut: 緙栧彿:" + index +" 鍊? "+parameters[index-1]+" 綾誨瀷: "+parameters[index-1].getClass()+"   #");
   }
   index++;
  }
  logger.info(" Run --> executeProcedureUpdate #   鍙傛暟璁劇疆瀹屾瘯,姝e湪鎵ц涓?... :   #");
  
  //-------------------- 鎵ц -----------------
  if(!cs.execute())
  {
   returnVal = new Object[outPutIndexList.size()];
   logger.info(" Run --> executeProcedureUpdate #   鎵ц鎴愬姛! :   #");
   //鍙栬緭 鍑哄弬鏁扮殑 榪斿洖鍊?br />    for(int i = 0 ;i<outPutIndexList.size();i++)
   {
    returnVal[i] = cs.getObject(outPutIndexList.get(i));
    logger.info(" Run --> executeProcedureUpdate #   榪斿洖鍊?"+(i+1)+" "+returnVal[i]+"   #");
   }
   con.commit();//鎻愪氦
  }
  } catch (Exception e) {
   logger.info(" Run --> executeProcedureUpdate #   鎵ц澶辮觸!浜嬪姟鍥炴粴涓?.. :   #");
   con.rollback();
   throw e;
  }
  logger.info("------------------------------------------------------------------------------------------------------");
  return returnVal;
 }

 /** ****************************************************************************************** */
 /**
  * ********************************* 灝忓伐鍏?br />   * ************************************************
  */
 /** ****************************************************************************************** */

 /**
  * 鍏抽棴鏁版嵁瀵硅薄
  */
 public void close_DB_Object() {
  logger.info("###############close:::::鍏抽棴榪炴帴瀵硅薄錛岃鍙ュ璞★紝璁板綍闆嗗璞?);
  if (null != rs) {
   try {
    rs.close();
   } catch (SQLException ex) {
    rs = null;
   }
  }
  if (null != stmt) {
   try {
    stmt.close();
   } catch (SQLException ex) {
    stmt = null;
   }
  }
  if (null != pstmt) {
   try {
    pstmt.close();
   } catch (SQLException ex) {
    pstmt = null;
   }
  }
  if (con != null) {
   dcm.freeConnection("mysql", con);
  }
 }


 /**
  * 璁劇疆Sql 鎸囦護鍙傛暟
  *
  * @param p_stmt
  *            PreparedStatement
  * @param pramets
  *            HashMap
  */
 private PreparedStatement setParamet(PreparedStatement p_stmt,
   HashMap<Integer, Object> pramets) throws ClassNotFoundException,
   SQLException {
  // 濡傛灉鍙傛暟涓虹┖
  if (null != pramets) {
   // 濡傛灉鍙傛暟涓暟涓?
   if (0 <= pramets.size()) {
    for (int i = 1; i <= pramets.size(); i++) {
     try {
      // 瀛楃綾誨瀷 String
      if (pramets.get(i).getClass() == Class
        .forName("java.lang.String")) {
       p_stmt.setString(i, pramets.get(i).toString());
      }
      // 鏃ユ湡綾誨瀷 Date
      if (pramets.get(i).getClass() == Class
        .forName("java.sql.Date")) {
       p_stmt.setDate(i, java.sql.Date.valueOf(pramets
         .get(i).toString()));
      }
      // 甯冨皵綾誨瀷 Boolean
      if (pramets.get(i).getClass() == Class
        .forName("java.lang.Boolean")) {
       p_stmt.setBoolean(i, (Boolean) (pramets.get(i)));
      }
      // 鏁村瀷 int
      if (pramets.get(i).getClass() == Class
        .forName("java.lang.Integer")) {
       p_stmt.setInt(i, (Integer) pramets.get(i));
      }
      // 嫻偣 float
      if (pramets.get(i).getClass() == Class
        .forName("java.lang.Float")) {
       p_stmt.setFloat(i, (Float) pramets.get(i));
      }
      // 鍙岀簿搴﹀瀷 double
      if (pramets.get(i).getClass() == Class
        .forName("java.lang.Double")) {
       p_stmt.setDouble(i, (Double) pramets.get(i));
      }

     } catch (ClassNotFoundException ex) {
      throw ex;
     } catch (SQLException ex) {
      throw ex;
     }
    }
   }
  }
  return p_stmt;
 }

 /**
  * 杞崲璁板綍闆嗗璞′負鏁扮粍鍒楄〃瀵硅薄
  *
  * @param rs
  *            綰綍闆嗗悎瀵硅薄
  * @return 鏁扮粍鍒楄〃瀵硅薄
  * @throws Exception
  */
 private ArrayList<HashMap<Object, Object>> convertResultSetToArrayList(
   ResultSet rs) throws Exception {
  logger.info("###############::杞崲璁板綍闆嗗璞′負鏁扮粍鍒楄〃瀵硅薄");
  // 鑾峰彇rs 闆嗗悎淇℃伅瀵硅薄
  ResultSetMetaData rsmd = rs.getMetaData();
  // 鍒涘緩鏁扮粍鍒楄〃闆嗗悎瀵硅薄
  ArrayList<HashMap<Object, Object>> tempList = new ArrayList<HashMap<Object, Object>>();
  HashMap<Object, Object> tempHash = null;
  // 濉厖鏁扮粍鍒楄〃闆嗗悎
  while (rs.next()) {
   // 鍒涘緩閿煎闆嗗悎瀵硅薄
   tempHash = new HashMap<Object, Object>();
   for (int i = 0; i < rsmd.getColumnCount(); i++) {
    // 閬嶅巻姣忓垪鏁版嵁錛屼互閿煎艦寮忓瓨鍦ㄥ璞empHash涓?br />     tempHash.put(rsmd.getColumnName(i + 1).toUpperCase(), rs
      .getString(rsmd.getColumnName(i + 1)));
   }
   // 絎竴涓敭鍊煎錛屽瓨鍌ㄥ湪tempList鍒楄〃闆嗗悎瀵硅薄涓?br />    tempList.add(tempHash);
  }
  close_DB_Object();// 鍏抽棴鐩稿叧閾炬帴
  return tempList;// 榪斿洖濉厖瀹屾瘯鐨勬暟緇勫垪琛ㄩ泦鍚堝璞?br />  }

 /**
  * 浠庢暟鎹簱寰楀埌瀛樺偍榪囩▼淇℃伅
  *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @return 鏁扮粍鍒楄〃瀵硅薄
  * @throws Exception
  */
 private ArrayList<HashMap<Object, Object>> getProcedureInfo(String procName)
   throws Exception {
  return this.executeSql("select Syscolumns.isoutparam as Way,systypes.name as TypeName from sysobjects,syscolumns,systypes where systypes.xtype=syscolumns.xtype and syscolumns.id=sysobjects.id and sysobjects.name='"
    + procName + "' order by Syscolumns.isoutparam");
 }

 /**
  * 浠庢暟鎹簱寰楀埌瀛樺偍榪囩▼鍙傛暟涓暟
  *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @return 鏁扮粍鍒楄〃瀵硅薄
  * @throws Exception
  */
 @SuppressWarnings("unused")
 private int getParametersCount(String procName) throws Exception {
  int returnVal = 0;
  for (HashMap<Object, Object> tempHas : this
    .executeSql("select count(*) as RowsCount from sysobjects,syscolumns,systypes where systypes.xtype=syscolumns.xtype and syscolumns.id=sysobjects.id and sysobjects.name='"
      + procName + "'")) {
   returnVal = Integer.parseInt(tempHas.get("ROWSCOUNT").toString());
  }
  return returnVal;
 }

 /**
  * 寰楀埌璋冪敤瀛樺偍榪囩▼鐨勫叏鍚?br />   *
  * @param procName
  *            瀛樺偍榪囩▼鍚嶇О
  * @return 璋冪敤瀛樺偍榪囩▼鐨勫叏鍚?br />   * @throws Exception
  */
 private String getProcedureCallName(String procName, int prametCount)
   throws Exception {
  String procedureCallName = "{call " + procName;
  for (int i = 0; i < prametCount; i++) {
   if (0 == i) {
    procedureCallName = procedureCallName + "(?";
   }
   if (0 != i) {
    procedureCallName = procedureCallName + ",?";
   }
  }
  procedureCallName = procedureCallName + ")}";
  return procedureCallName;
 }

 /**
  * 寰楀埌鏁版嵁綾誨瀷鐨勬暣鍨嬪?br />   *
  * @param typeName
  *            綾誨瀷鍚嶇О
  * @return 鏁版嵁綾誨瀷鐨勬暣鍨嬪?br />   */
 private int getDataType(String typeName) {
  if (typeName.equals("varchar"))
   return Types.VARCHAR;
  if (typeName.equals("int"))
   return Types.INTEGER;
  if (typeName.equals("bit"))
   return Types.BIT;
  if (typeName.equals("float"))
   return Types.FLOAT;
  return 0;
 }

 // 璁劇疆椹卞姩璺緞
 @SuppressWarnings("static-access")
 public void set_DRIVER(String _DRIVER) {
  this._DRIVER = _DRIVER;
 }

 // 璁劇疆鏁版嵁搴撳瘑鐮?br />  @SuppressWarnings("static-access")
 public void set_PASSWORD(String _PASSWORD) {
  this._PASSWORD = _PASSWORD;
 }

 // 璁劇疆鏁版嵁搴撹繛鎺ュ瓧絎︿覆
 @SuppressWarnings("static-access")
 public void set_URL(String _URL) {
  this._URL = _URL;
 }

 // 璁劇疆鏁版嵁搴撶敤鎴峰悕
 @SuppressWarnings("static-access")
 public void set_USER_NA(String _USER_NA) {
  this._USER_NA = _USER_NA;
 }

}



Sky Yi 2008-09-03 17:19 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产色在线|亚洲| 香蕉免费看一区二区三区| 亚洲熟女www一区二区三区| 国产精品1024在线永久免费| 57pao国产成视频免费播放| 波多野结衣中文一区二区免费| 亚洲av无码专区国产乱码在线观看| 亚洲人成电影网站色| 日韩在线永久免费播放| 亚洲视频人成在线播放| 亚洲日韩精品A∨片无码加勒比| 最近最新MV在线观看免费高清| 无码乱人伦一区二区亚洲| 婷婷亚洲综合一区二区| 午夜国产精品免费观看| 亚洲国产成人一区二区三区| 美女视频黄a视频全免费网站色| 97免费人妻无码视频| 亚洲AV无码国产丝袜在线观看| 日韩在线永久免费播放| 色偷偷女男人的天堂亚洲网| 又色又污又黄无遮挡的免费视| 春意影院午夜爽爽爽免费| 国产精品免费_区二区三区观看| 亚洲AV无码无限在线观看不卡| 久久久久免费看成人影片| 久久精品a一国产成人免费网站| 亚洲AV一宅男色影视| 国产a视频精品免费观看| 亚洲网站视频在线观看| 羞羞视频免费网站入口| 亚洲综合精品香蕉久久网| 一级毛片免费在线观看网站| 全部免费毛片在线| 四虎影视无码永久免费| 亚洲国产精品无码一线岛国| 一本岛高清v不卡免费一三区| 高清免费久久午夜精品| 亚洲一级大黄大色毛片| 免费三级毛片电影片| 性生大片视频免费观看一级|