亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用一個JavaBean封裝JDBC操作

2019-11-18 12:38:41
字體:
來源:轉載
供稿:網友

  關于數據庫在項目開發中的重要性,我想不用我在此多費唇舌;因此關于對數據庫操作的重要性我想更不需要我在此大聲疾呼!然而你是否思考過這樣的幾個問題:在你的每一個項目中共有多少子項目需要對數據庫進行操作?你為此設計的操作數據庫的javaBean是否能滿足不同子項目的要求?當用戶要求采用其他數據庫系統時你是否需要對已經編譯好的Class文件重新編譯?
  
  假如你是一位很勤奮的程序員,你可能會說:“無所謂,只要修改一下連接方式然后再編譯一下就OK了!”然而你是否曾經想過,假如我們可以花一點時間把這個JavaBean完善一下,我們甚至連這種“修改”都可以省去?
  
  筆者并不是一個勤奮的程序員,因此希望通過一個JavaBean來完成對數據庫的大部分操作,同時希望該JavaBean能夠滿足對目前大部分主流數據庫的操作。在此基礎上寫了一個JavaBean,目前暫時命名為LPWDatabaSEOperation。以下為該JavaBean的相關信息:
  
  一、支持對Oracle、Sybase、MySQL、SQLServer、DB2、PostgreSQL、Jdbc-Odbc-Bridge等數據庫的DriverManager格式的操作;
  
  二、提供了以Tomcate服務器為平臺的數據源的操作(其他諸如WebLogic、WebSphere等大型服務器通常通過實體Bean來訪問數據庫,因此本程序沒有提供對這兩種服務器數據源的訪問,但保留了相應位置,有愛好的讀者可以自己進行補充。);
  
  三、使用了唯一的一個方法executeSQL對數據的增加、刪除、修改和查詢等操作進行統一處理,省去了記憶多個方法的麻煩;
  
  四、提供了對分頁顯示的簡單支持。
  
  本文提供了該JavaBean的完整源代碼,同時源代碼中有具體的文檔注釋,有愛好的讀者可以將其編譯成開發文檔,以供隨時參考。源代碼如下:
  package lpw.beans;
  
  import java.sql.DriverManager;
  import java.sql.Connection;
  import java.sql.PReparedStatement;
  import java.sql.ResultSet;
  import javax.sql.DataSource;
  import javax.naming.Context;
  import javax.naming.InitialContext;
  
  /
  

Title:


  

Description:


  

Copyright: Copyright 2004


  

Company: 呂培文


  @author not attributable
  @version 1.0
  /
  public class LPWDatabaseOperation
  {
  /
  使用Oracle格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useOracleDriverManager = 0;
  /
  使用Sybase格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useSybaseDriverManager = 1;
  /
  使用MySQL格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useMysqlDriverManager = 2;
  /
  使用SQLServer格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useSqlserverDriverManager = 3;
  /
  使用DB2格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useDb2DriverManager = 4;
  /
  使用Informix格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useInformixDriverManager = 5;
  /
  使用PostgreSQL格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int usePostgresqlDriverManager = 6;
  /
  使用Jdbc-Odbc-Bridge格式的DriverManager
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useJdbcOdbcBridge = 7;
  /
  使用Tomcate格式的DataSource
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useTomcateDataSource = 8;
  /
  使用WebLogic格式的DataSource
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useWeblogicDataSource = 9;
  /
  使用WebSphere格式的DataSource
  @see LPWDatabaseOperation#getUseContextType
  /
  public final int useWebsphereDataSource = 10;
  /////////////////////////////////////////////////////////
  private String[] driverManagerType;
  private int useContextType;
  private int pageSize,pageCount,absolutePage,recordCount;
  //////////////////////////////////////////////////////////
  private Connection connection;
  private PreparedStatement preparedStatement;
  private ResultSet resultSet;
  
  /
  構造LPWDatabaseOperation。
  在構造時需選擇所使用的環境類型,
  LPWDatabaseOperation支持多種主流的DriverManager驅動及DataSource環境,
  并定義了一些常用DriverManager和DataSource的標準格式,
  其中包括Oracle、Sybase、MySQL、SQLServer等主流數據庫的DriverManager格式,
  以及Jdbc-Odbc-Bridge的標準格式,
  同時還提供了Tomcate、WebLogic和WebSphere下DataSource的標準格式,
  程序員在使用時只需要選擇相應的常量即可。
  @param useContextType int
使用的環境類型
  @see LPWDatabaseOperation#getUseContextType
  /
  public LPWDatabaseOperation(int useContextType)
  {
  if(useContextType<0) useContextType = 0;
  if(useContextType>7) useContextType = 7;
  this.useContextType = useContextType;
  /////////////////////////////////////////////////////////
  this.driverManagerType[this.useOracleDriverManager] = new String("oracle.jdbc.driver.OracleDriver");
  this.driverManagerType[this.useSybaseDriverManager] = new String("com.sybase.jdbc.SybDriver");
  this.driverManagerType[this.useMysqlDriverManager] = new String("com.mysql.jdbc.Driver");
  this.driverManagerType[this.useSqlserverDriverManager] = new String("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  this.driverManagerType[this.useDb2DriverManager] = new String("com.ibm.db2.jdbc.app.DB2Driver");
  this.driverManagerType[this.useInformixDriverManager] = new String("com.informix.jdbc.IfxDriver");
  this.driverManagerType[this.usePostgresqlDriverManager] = new String("org.postgresql.Driver");
  this.driverManagerType[this.useJdbcOdbcBridge] = new String("sun.jdbc.odbc.JdbcOdbcDrive");
  /////////////////////////////////////////////////////////
  this.pageSize = 20;
  this.pageCount = 0;
  this.absolutePage = 0;
  this.recordCount = 0;
  //////////////////////////////////////////////////////////
  this.connection = null;
  this.preparedStatement = null;
  this.resultSet = null;
  }
  
  /
  打開數據庫,需要給該方法提供數據庫的URL地址、用戶名稱及用戶密碼。
  成功打開數據庫后便可通過executeSQL方法對數據庫進行操作。
  @param databaseURL String
數據庫的URL地址,假如使用DataSource則為數據庫的JNDI-Name
  @param userName String
用戶名稱
  @param passWord String
用戶密碼
  @throws java.sql.SQLException
  @throws java.lang.ClassNotFoundException
  @throws javax.naming.NamingException
  /
  public void openDatabase(String databaseURL,String userName,String password)
  throws java.sql.SQLException,java.lang.ClassNotFoundException,javax.naming.NamingException
  {
  if(this.useContextType>=0 && this.useContextType<=this.useJdbcOdbcBridge)
  {
  Class.forName(this.driverManagerType[this.useContextType]);
  this.connection = DriverManager.getConnection(databaseURL,userName,password);
  }
  else if(this.useContextType==this.useTomcateDataSource)
  {
  Context context = new InitialContext();
  DataSource dataSource = (DataSource)context.lookup(databaseURL);
  this.connection = dataSource.getConnection(userName,password);
  }
  else if(this.useContextType==this.useWeblogicDataSource)
  {
  }
  else if(this.useContextType==this.useWebsphereDataSource)
  {
  }
  }
  
  /
  執行SQL語句,可以是Select、Insert、Delete、Update中的任何一個。
  @param sql String
欲被執行的SQL語句
  @return ResultSet
假如執行查詢操作,則返回該查詢操作的ResultSet;假如執行的是其它操作,則返回null。
  @throws java.sql.SQLException
  /
  public ResultSet executeSQL(String sql) throws java.sql.SQLException
  {
  sql = sql.trim();
  this.preparedStatement = this.c

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩高清电影免费观看完整版| 久久全球大尺度高清视频| 日韩欧美精品网址| 国产精品久久久久久久美男| 欧美在线视频免费| 成人97在线观看视频| 国产精品黄页免费高清在线观看| 日韩国产在线播放| 日韩av在线资源| 成人中心免费视频| 日韩不卡在线观看| 成人有码在线播放| 7777精品视频| 国产精品久久久久久av福利软件| 日韩av片电影专区| 欧美日韩性生活视频| 久久成人18免费网站| 九九热这里只有精品免费看| 亚洲自拍av在线| 日韩高清电影免费观看完整| 亚洲在线观看视频网站| 亚洲精品国产精品久久清纯直播| 九九热视频这里只有精品| 欧美日韩国产一区在线| 久久久国产一区二区三区| 国产精品入口夜色视频大尺度| 久久在线精品视频| 26uuu另类亚洲欧美日本老年| 欧美性20hd另类| 成人久久一区二区| 成人国产精品日本在线| 日韩精品中文字幕在线| 蜜臀久久99精品久久久久久宅男| 国产精品一区电影| 日韩电影在线观看永久视频免费网站| 亚洲人成绝费网站色www| 日韩小视频在线观看| 日韩精品在线观看视频| 久久精品国产96久久久香蕉| 国产精品极品美女在线观看免费| 最近2019年手机中文字幕| 深夜精品寂寞黄网站在线观看| 国内揄拍国内精品| 亚洲成人免费在线视频| 91精品视频免费看| 欧美激情一级欧美精品| 成人免费福利视频| 日韩免费观看在线观看| 久久av红桃一区二区小说| 精品国产一区二区在线| 亚洲三级免费看| 久久久久久久999| 九九久久久久久久久激情| 欧美丝袜第一区| 久久天天躁夜夜躁狠狠躁2022| 日韩av在线资源| 久久国产精品网站| 国产一区二区三区网站| 国产精品男女猛烈高潮激情| 日韩精品视频免费专区在线播放| 亚洲一区999| 日韩精品中文字幕在线观看| 国产精品久久久久久久久久东京| 国产成人avxxxxx在线看| 欧美小视频在线观看| 国产精品黄色av| 亚洲精品乱码久久久久久金桔影视| 91人成网站www| 国产成人精品一区二区| 亚洲国产精久久久久久| 久久久久久久999精品视频| 日韩精品在线免费观看视频| 日韩精品中文字幕有码专区| 国产精品扒开腿做| 91情侣偷在线精品国产| 国内精品久久久久影院 日本资源| 中文字幕亚洲二区| 国产精品老女人视频| 午夜精品在线观看| 国产精品久久久久久久久久尿| 国内精久久久久久久久久人| 91在线观看免费网站| 成人黄色在线观看| 欧美激情免费视频| 成人av在线天堂| 欧美与黑人午夜性猛交久久久| 亚洲欧洲激情在线| y97精品国产97久久久久久| 欧美尺度大的性做爰视频| 亚洲欧美综合另类中字| 欧美与黑人午夜性猛交久久久| 欧美精品在线极品| 国产999精品| 69久久夜色精品国产69| 日韩电影网在线| 黑人巨大精品欧美一区二区一视频| 欧美性少妇18aaaa视频| 日韩av在线资源| 亚洲r级在线观看| 欧美日韩国产麻豆| 欧美日韩一区二区免费在线观看| 亚洲jizzjizz日本少妇| 欧美在线视频观看免费网站| 91精品啪在线观看麻豆免费| 九色精品免费永久在线| 国产丝袜一区二区三区免费视频| 日韩av电影免费观看高清| 欧美日本高清一区| 97国产一区二区精品久久呦| 中文字幕日韩精品在线观看| 中文字幕亚洲第一| 亚洲精品国产suv| 久久久久久久香蕉网| 亚洲天堂成人在线| 亚洲午夜国产成人av电影男同| 久久九九亚洲综合| 亚洲新声在线观看| 国模精品系列视频| 欧美性xxxxxx| 黑人巨大精品欧美一区二区三区| 91精品国产色综合久久不卡98口| 久久久久免费精品国产| 亚洲自拍小视频免费观看| 久久在线观看视频| 国产亚洲欧洲高清一区| 欧美精品免费在线观看| 欧美日韩国产第一页| 国模精品系列视频| 亚洲色图色老头| 97在线免费观看| 欧美黑人视频一区| 欧美大奶子在线| 亚洲国产成人爱av在线播放| 久久精品夜夜夜夜夜久久| 国产精品久久二区| 成人中文字幕在线观看| 精品欧美国产一区二区三区| 国产亚洲欧美另类中文| 91夜夜未满十八勿入爽爽影院| 欧美视频不卡中文| 欧美成人激情图片网| 日韩成人中文字幕在线观看| 91tv亚洲精品香蕉国产一区7ujn| 91老司机精品视频| 91热精品视频| 欧美亚洲日本网站| 日韩av在线网页| 亚洲国产成人精品久久| 亚洲精品中文字幕av| 91在线视频精品| 欧美在线性爱视频| 97在线看免费观看视频在线观看| 国产精品久久久久77777| 色一情一乱一区二区| 91精品久久久久久久久久久| 欧美日韩成人网| 久久影院资源网| 午夜免费在线观看精品视频| 欧美日韩国产中文字幕| 国产精品永久免费在线| 91免费看国产| 国产精品v片在线观看不卡| 国产精品日韩一区| 久久久精品免费|