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

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

你如何使用JavaBean操作數據庫?

2019-11-18 13:09:20
字體:
來源:轉載
供稿:網友

  你平時是如何使用jsp操作數據庫呢?對于jsp+javaBean模式,想必大家都已經很熟悉了,我們可以將獲取數據庫連接,查詢,更新甚至將其它的功能都封裝進javaBean----
  
  好了--下面讓我們來好好弄清楚一個問題:**你如何在JSP頁中取得DB中的數據?從javaBean中返回ResultSet,然后在JSP中枚舉嗎?假如是這樣的話,那我強烈建議你把這篇文章讀完。*^_^*
  
  用javaBean封裝數據庫操作誰不會?--對啊,大家都會,但是--假如構建一個高擴展性的“結構”?這就要用到java的相關知識了。廢話少說,我們先在Tomcat中創建一個DataSource- jdbc/Panabia,然后再創建一個java“基類”,這個類封裝了數據庫連接和連接的釋放:[程式中有相應的注解]
  
  CODE:
  
  package Panabia.db;
  
  import javax.sql.DataSource;
  import javax.naming.*;
  import java.sql.*;
  
  public class SQLFactory
  {
  
   PRivate static DataSource ds=null;
   private static Object Lock=new Object();
  
  //生成DataSource**
  public static DataSource gainDataSource(){
  try{
   if(ds==null){
    synchronized(Lock){
     if(ds==null){
      Context ctx=new InitialContext();
       ds=(DataSource)ctx.lookup(/"java:comp/env/jdbc/Panabia/");
      }
     }
    }
   }
   catch(NamingException e){e.printStackTrace();}
   return ds;
  }
  
  //生成SQL連接**
  public static synchronized Connection gainConnection(){
   Connection con=null;
   try{
   if(ds==null){
    gainDataSource();
    }
    con=ds.getConnection();
   }
   catch(SQLException e){e.printStackTrace();}
   return con;
  }
  
  //釋放SQL連接**
  public static void releaseConnection(ResultSet rs,PreparedStatement ps,Statement sql,Connection con){
  try{
    if(rs!=null)
    rs.close();
    }
    catch(SQLException e){e.printStackTrace();}
  try{
    if(ps!=null)
    ps.close();
    }
    catch(SQLException e){e.printStackTrace();}
  try{
    if(sql!=null)
    sql.close();
    }
    catch(SQLException e){e.printStackTrace();}
  try{
    if(con!=null&&!con.isClosed())
    con.close();
   }
   catch(SQLException e){e.printStackTrace();}
   }
  }
  
  大家都應該注重到了,這個類的所有的方法全部是static的,之所以這樣,主要是為了方便其它“擴展類”的調用,當然,還有其它好處--- :)
  
  好了,這個類就封裝完畢了,現在我們就可以針對不同的應用要求單獨寫javaBean了,比如一個簡單的:在JSP中列出verify表中的所有用戶名與密碼列表-
  
  該怎么做?--使用SQLFactory生成Connection,再生成Statement,再生成ResultSet--然后枚舉嗎?好象不錯,哦,等等......這樣做你難道沒有一種“非常親切”的感覺嗎?---對了,asp,php中就是如此-Faint~我們怎么又回到“原始社會”了....
  
  有沒有更好的方式?答案是肯定的,JAVA的能力是“通天”的強大,只要你能想得到,仔細看看它的API Document,就不難找出解決辦法。
  答案出來了:
  我們在查詢類中返回Iterator到JSP枚舉,而不是ResultSet。
  好了,我們的UserQuery類就產生了:
  
  CODE:
  
  package Panabia.Operate;
  
  import Panabia.db.SQLFactory;
  import java.util.*;
  import java.sql.*;
  
  public class UserQuery{
  
   private ArrayList list=null;
   private Connection con=null;
   private Statement sql=null;
   private ResultSet rs=null;
  
   public Iterator getResult(){
    try{
     con=SQLFactory.gainConnection();
     sql=con.createStatement();
     rs=sql.executeQuery(/"select * from verify/");
               //verify表只有兩個字段:username,passWord;
     list=new ArrayList();
      while(rs.next()){
       list.add(rs.getString(1));
       list.add(rs.getString(2));
        }
     }
     catch(SQLException e){e.printStackTrace();}
     finally{SQLFactory.releaseConnection(rs,null,sql,con);}
     return list.iterator();
     }
  }
  
  然后,就是在JSP頁中進行數據的枚舉:因為發現cnjbb不支持Html標簽的顯示,所以,只貼出了JSP中的全部java代碼片--
  ........
  Iterator it=UserQuery.getResult();
   while(it.hasNext()){
   out.print((String)it.next());
   }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲色图18p| 97香蕉超级碰碰久久免费软件| 亚洲精品黄网在线观看| 国产成人精品综合| 亚洲奶大毛多的老太婆| 亚洲成人性视频| 欧美一级黄色网| 亚洲a中文字幕| 成人a级免费视频| 欧美日韩国产页| 久久免费少妇高潮久久精品99| 日韩成人在线电影网| 97精品久久久中文字幕免费| 久久亚洲国产精品| 欧美激情在线有限公司| 欧美午夜激情小视频| 亚洲夜晚福利在线观看| 亚洲精品美女久久| 日韩福利视频在线观看| 91超碰中文字幕久久精品| 日韩在线视频观看正片免费网站| 亚洲影院在线看| 亚洲欧美制服第一页| 日韩欧美一区二区三区久久| 97视频免费看| 91精品国产91久久久| 欧美一性一乱一交一视频| 国产主播精品在线| 午夜精品久久久久久久久久久久久| 午夜精品久久久久久久99热浪潮| 久久久噜噜噜久久久| 日韩免费不卡av| 97人人爽人人喊人人模波多| 疯狂蹂躏欧美一区二区精品| 亚洲国内高清视频| 亚洲国产精品va在看黑人| 日韩精品极品视频免费观看| 色婷婷亚洲mv天堂mv在影片| 久久久久999| 国产日韩欧美在线| 九色成人免费视频| 国产精品18久久久久久首页狼| 国产成人免费91av在线| 91精品国产91久久久久久吃药| 欧美另类精品xxxx孕妇| 亚洲欧美在线x视频| 97色在线播放视频| 久久99国产精品久久久久久久久| 成人激情视频小说免费下载| 国产精品av在线| 精品无人区乱码1区2区3区在线| 久久影院中文字幕| 国产精品成人一区二区| 久久国产精品首页| 亚洲女人天堂色在线7777| 亚洲欧美成人一区二区在线电影| 欧美激情亚洲国产| 国产成人在线一区| 欧美成人精品在线观看| 欧美日韩第一页| 热re91久久精品国99热蜜臀| 日韩精品在线电影| 亚洲国产精品成人av| 亚洲色图校园春色| 日韩的一区二区| 欧美激情国产日韩精品一区18| 国产成人亚洲综合| 久久99精品久久久久久青青91| 国产欧洲精品视频| 欧美一级黄色网| 亚洲欧美三级在线| 日韩免费高清在线观看| 黑人与娇小精品av专区| 欧美诱惑福利视频| 精品视频久久久久久久| 久久久亚洲影院你懂的| 欧美一区二区大胆人体摄影专业网站| 国产精品久久久久久超碰| 成人午夜在线观看| 两个人的视频www国产精品| 国产成人精品日本亚洲专区61| 日韩视频免费大全中文字幕| 国产精品福利片| 欧美激情精品在线| 91精品久久久久久久久久久久久| 久久国产视频网站| 最近中文字幕日韩精品| 亚洲第一精品夜夜躁人人爽| 91麻豆国产语对白在线观看| 日韩欧美亚洲成人| 亚洲天堂av图片| 欧美在线视频在线播放完整版免费观看| 国产精品色悠悠| 2025国产精品视频| 国产亚洲美女精品久久久| 日韩最新免费不卡| 欧美性猛交xxxx免费看漫画| 亚洲精品天天看| 欧美日韩一区二区精品| 久久影视电视剧免费网站| 7777kkkk成人观看| 奇米4444一区二区三区| 日韩成人在线观看| 日本精品久久久久久久| 亚洲女人天堂av| 色综合色综合久久综合频道88| 欧美精品aaa| 91久久精品日日躁夜夜躁国产| 69视频在线播放| 午夜精品福利视频| 欧美一级视频在线观看| 国产精品手机播放| 日韩av网站在线| 亚洲第五色综合网| 午夜精品久久久久久久99热浪潮| 国产91精品高潮白浆喷水| 欧美日韩国产在线看| 欧美日产国产成人免费图片| 国产精品精品视频一区二区三区| 欧美一区二区.| 97国产真实伦对白精彩视频8| 国产精品中文字幕在线| 777777777亚洲妇女| 黑人与娇小精品av专区| 亚洲精品自在久久| 69久久夜色精品国产69乱青草| 国产精品亚洲片夜色在线| 日韩综合视频在线观看| 日韩av免费网站| 国产91精品久久久久久久| 亚洲国内精品视频| 亚洲曰本av电影| 91av中文字幕| 欧美性理论片在线观看片免费| 国产91精品久久久久| 午夜精品三级视频福利| 亚洲人成网站免费播放| 欧美中文字幕视频在线观看| 91精品成人久久| 一区二区三区日韩在线| 成人精品一区二区三区电影免费| 欧美大片在线影院| 国产日产欧美a一级在线| 操91在线视频| 在线成人激情黄色| 成人精品福利视频| 欧美电影院免费观看| 一区二区三欧美| 国产精品999999| 91色琪琪电影亚洲精品久久| 欧美成在线观看| 国产婷婷97碰碰久久人人蜜臀| 国产精品白丝jk喷水视频一区| 国内精品久久影院| 懂色av一区二区三区| 国产免费观看久久黄| 欧美日韩国产中文字幕| 国产噜噜噜噜噜久久久久久久久| 成人免费视频97| 欧美特级www| 国产一区二区三区高清在线观看| 97精品国产97久久久久久免费| 日韩欧美在线视频| 欧美精品在线观看91|