国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺談Java JDBC中的遞歸查詢樹

開發(fā) 后端
本文將介紹Java JDBC中的遞歸查詢樹,遞歸查詢?yōu)榘嘀貙哟谓Y(jié)構(gòu)的關(guān)系數(shù)據(jù)提供了一種非常靈活而有效的處理方法。

Java JDBC中的遞歸查詢樹代碼說明:

程序主要是用Java JDBC連接Oracle數(shù)據(jù)庫,并用遞歸的方式查詢樹狀數(shù)據(jù)??梢詿o限級查詢數(shù)據(jù)。

數(shù)據(jù)表圖如下  

  1. create table FILE_FILES  
  2. (  
  3.   FILE_ID     INTEGER not null,  
  4.   NAME        VARCHAR2(500),  
  5.   PARENT_ID   INTEGER,  
  6.   FILE_TITLE  VARCHAR2(500),  
  7.   FILE_TYPE   VARCHAR2(150),  
  8.   FILE_PATH   VARCHAR2(4000),  
  9. )  

java jdbc遞歸查詢樹數(shù)據(jù)表圖

第三列是父文件標志,0為最root節(jié)點,1代表文件名為資料庫的數(shù)據(jù),如18代表它的父文件名其id 為18為規(guī)章制度,***生成樹狀的path路徑到第6列。

  1. import java.sql.Connection;  
  2. import java.sql.DriverManager;  
  3. import java.sql.PreparedStatement;  
  4. import java.sql.ResultSet;  
  5. import java.sql.SQLException;  
  6. import java.text.SimpleDateFormat;  
  7.  
  8. /**   
  9.  * @author 作者姓名  wangyongfei   
  10.  * @version 創(chuàng)建時間:Jun 16, 2009 3:01:07 AM   
  11.  * 類說明:   
  12.  */  
  13.  
  14. public class OtherConnection {  
  15.    
  16.  private static Connection conn;  
  17.  
  18.     private static PreparedStatement stmt;  
  19.       
  20.     private static ResultSet rs ;  
  21.  
  22.     public static String driver = "oracle.jdbc.driver.OracleDriver";  
  23.  
  24.     public static String url = "jdbc:oracle:thin:@192.168.0.23:1521:arsystem";  
  25.  
  26.     public static String uName = "aradmin";  
  27.  
  28.     public static String uPwd = "ar#admin#";  
  29.       
  30.     public String path = "";  
  31.       
  32.     public String flag = "/";  
  33.       
  34.     public OtherConnection(){  
  35.     }  
  36.       
  37.     public Connection getConnection(){  
  38.      try{  
  39.       Class.forName(driver);  
  40.       conn = DriverManager.getConnection(url,uName,uPwd);  
  41.       return conn;  
  42.      }catch(Exception e){  
  43.       e.printStackTrace();  
  44.       return null;  
  45.      }  
  46.     }  
  47.       
  48.     public static void main(String arsg[]){  
  49.      long startTime = System.currentTimeMillis();  
  50.      String sql = "select * from file_files";  
  51.      String update = "";  
  52.      OtherConnection o = new OtherConnection();  
  53.      conn = o.getConnection();  
  54.      try {  
  55.    ResultSet _rs = o.getResult(sql,conn);  
  56.    if(_rs!=null){  
  57.     while(_rs.next()){  
  58.      String _path = "";  
  59.      long col01 = _rs.getLong(1);  
  60.      String col02 = _rs.getString(2);  
  61.      long col03 = _rs.getLong(3);  
  62.        
  63.      _path = o.iterative(col03, _path,conn);  
  64.      if(col03==0){  
  65.       update = "update file_files f set f.file_path = '/' where f.file_id = "+col01;  
  66.      }else{  
  67.       update = "update file_files f set f.file_path = '"+_path+"/"+col02+"' where f.file_id = "+col01;  
  68.      }  
  69.      o.update(update,conn);  
  70.     }  
  71.    }  
  72.      
  73.   } catch (Exception e) {  
  74.    e.printStackTrace();  
  75.   }  
  76.   long endTime = System.currentTimeMillis();  
  77.   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
  78.     
  79.   System.out.print("更新數(shù)據(jù)所用的時間"+(startTime - endTime));  
  80.     }  
  81.  
  82.     public ResultSet getResult(String sql,Connection _conn) {  
  83.         try {  
  84.          stmt = _conn.prepareStatement(sql);  
  85.             ResultSet m_rs = stmt.executeQuery();  
  86.             return m_rs;  
  87.         } catch (SQLException e) {  
  88.             e.printStackTrace();  
  89.             return null;  
  90.         }  
  91.     }  
  92.     public void update(String sql,Connection _conn) {  
  93.      try {  
  94.       stmt = _conn.prepareStatement(sql);  
  95.       stmt.execute();  
  96.       stmt.close();  
  97.      } catch (SQLException e) {  
  98.       e.printStackTrace();  
  99.      }  
  100.     }  
  101.     //實現(xiàn)遞歸查詢  
  102.     public String iterative(long id,String _path,Connection _conn) throws SQLException{  
  103.   String sql = "select * from file_files f where f.file_id = "+id;  
  104.   PreparedStatement stmt = _conn.prepareStatement(sql);  
  105.   ResultSet rs = stmt.executeQuery(sql);  
  106.   if(null!=rs){  
  107.    while(rs.next()){  
  108.     long col01 = rs.getLong(1);  
  109.     String col02 = rs.getString(2);  
  110.     long col03 = rs.getLong(3);  
  111.     path = flag+col02+_path;  
  112.     iterative(col03,path,conn);  
  113.    }  
  114.   }else{  
  115.    path = flag;  
  116.   }  
  117.   stmt.close();  
  118.   return path;  
  119.  }  

【編輯推薦】

  1. 談?wù)剝?yōu)化JDBC數(shù)據(jù)庫編程
  2. 實例說明對MySQL的JDBC連接設(shè)置
  3. 淺談如何利用JSP網(wǎng)頁中JDBC代碼連接MySQL
  4. 淺談JDBC代碼如何重復(fù)使用
  5. 如何進行Jython數(shù)據(jù)庫插入(JDBC)
責任編輯:彭凡 來源: 網(wǎng)易博客
相關(guān)推薦

2009-06-29 17:17:57

Spring

2009-07-15 15:47:12

JDBC DAO

2023-08-29 09:46:12

SQLCTE遞歸

2009-07-15 17:11:31

JDBC的概念

2009-07-15 15:18:01

JDBC連接SQL S

2009-07-15 17:00:49

JDBC查詢

2009-07-01 16:01:58

JSP數(shù)據(jù)庫

2009-07-01 17:58:20

JSP

2009-07-21 17:41:58

JDBC數(shù)據(jù)源

2009-06-06 19:17:37

java遞歸刪除

2022-03-15 08:36:46

遞歸查詢SQL

2009-07-15 16:23:54

Java JDBC

2009-07-16 17:06:55

JSP網(wǎng)頁中JDBC代

2010-04-02 15:04:14

Oracle遞歸查詢

2009-07-15 18:07:47

JDBC代碼

2009-05-05 09:46:18

Java編碼理論字符

2009-07-16 14:46:48

jdbc statem

2009-07-23 13:37:45

JDBC連接SQL S

2009-07-15 15:30:12

MyEclipse J

2009-07-16 16:23:20

JDBC result
點贊
收藏

51CTO技術(shù)棧公眾號

免费一区二区三区| 久久婷婷国产综合尤物精品| 女女百合国产免费网站| 狠狠色一日本高清视频| 亚洲综合色激情五月| 国产精品高清乱码在线观看| 亚洲一区二三区| 亚洲美女中文字幕| 日本在线精品视频| 国产黄页在线观看| 国产一区欧美| 亚洲精品不卡在线| 黄色小视频在线免费观看| 日韩精品一区二区三区av| 奇门遁甲1982国语版免费观看高清 | 成人黄色免费电影| 激情小说亚洲一区| 在线视频亚洲自拍| 国产一区激情在线| www.男人天堂网| 国产呦精品一区二区三区网站| 最新精品视频| 成人激情综合网站| 欧美 国产 小说 另类| 99re66热这里只有精品3直播 | 久久精品夜夜夜夜久久| 亚洲最新视频在线观看| 国产精品秘入口18禁麻豆免会员| 欧美日韩国产成人精品| 在线毛片观看| 国产婷婷成人久久av免费高清| 日韩高清av电影| 午夜精品电影| 亚洲精选在线观看| 日本欧美精品久久久| 精品国产a一区二区三区v免费| 极品少妇xxxx精品少妇| 日韩一区二区三区在线播放| 亚洲午夜精品国产| 久久77777| 青青草99啪国产免费| 日本综合在线| 欧美变态tickling挠脚心| 图片区小说区亚洲| 精品夜色国产国偷在线| 亚洲精品第一| 国产精品1234| 国产亚洲精品自拍| 国产免费一区二区三区四在线播放| 国产99久久久精品| 91xxxxx| 色综合久久中文字幕| huan性巨大欧美| www.国产一区| 久久精品国产99久久| 欧美精品乱人伦久久久久久| 美女隐私在线观看| 蜜桃一区二区三区在线| 国产美女精彩久久| 在线香蕉视频| 亚洲少妇在线| 欧美做受高潮电影o| 黄视频网站在线看| 欧美日韩精品在线视频| 国产精品久久久久久妇女6080 | 欧美影院精品一区| 亚洲美女尤物影院| 国外成人免费在线播放 | av小片在线| 亚洲男人天堂手机在线| 久久99性xxx老妇胖精品| 亚洲国产日韩综合一区| 国产精品免费aⅴ片在线观看| 精品电影一区| 成人在线观看a| 欧美激情一区二区三区不卡 | 自拍偷拍一区| 日韩欧美自拍| 中文字幕亚洲无线码a| 久久综合久久综合九色| 欧洲大片精品免费永久看nba| 精品国产亚洲在线| 蜜桃a∨噜噜一区二区三区| 免费观看成人高| 专区另类欧美日韩| 国产在线精彩视频| 91在线免费看网站| 99久久久免费精品国产一区二区| 高清中文字幕一区二区三区| 欧美精品在线免费观看| 99精品视频免费观看视频| 成人在线免费播放视频| 精品国产伦一区二区三区观看体验 | 欧美日韩在线视频免费观看| 欧美亚洲国产视频小说| 国产乱码精品一品二品| avtt亚洲| 国产在线拍揄自揄视频不卡99| 99九九99九九九视频精品| 日韩精品分区| 91午夜在线播放| 亚洲色图欧美在线| 日韩精品第二页| 中文字幕一区综合| 在线不卡a资源高清| 国产精品99在线观看| 色偷偷亚洲第一成人综合网址| 亚洲欧美日韩直播| 免费av网站大全久久| 理论片午午伦夜理片在线播放| 国产精品稀缺呦系列在线| 国产视频在线观看一区二区三区| 日本成人三级电影| 中文字幕中文字幕在线中一区高清| 欧美精选一区二区| 亚洲激情网址| 欧美成人性生活视频| 国产精品国产精品| 色老汉av一区二区三区| 中文字幕人成人乱码| 青青操视频在线| 91亚洲va在线va天堂va国| 亚洲综合在线视频| 欧美xxxx中国| 国产在线视频福利| 成人在线免费观看一区| 欧美视频在线观看一区二区| 亚洲三级电影在线观看| 嫩草在线视频| 久久精品视频导航| 中文字幕在线成人| 午夜精品福利一区二区三区av| 国产精彩免费视频| 久久国产精品影视| 99精品欧美一区二区蜜桃免费 | 国产一区二区中文| 69av成人| 国产主播一区二区| 欧美aaa免费| 日韩国产精品一区二区| 91麻豆精品国产91久久久久| 国产精品videosex极品| 欧美日韩国产亚洲沙发| 91视频99| 69堂亚洲精品首页| 日韩影院免费视频| 漫画在线观看av| 男人添女荫道口图片| 久久亚洲国产成人| 中国av一区二区三区| 免费欧美激情| 欧洲亚洲在线| 免费看成人片| 亚洲激情视频在线播放| 成人av免费在线播放| 国内自拍欧美| 亚洲精品视频区| 免费亚洲精品视频| 亚洲人在线视频| 国产精品天天看| 99久久精品网| 亚洲综合影视| 欧美视频在线观看网站| 韩国三级日本三级少妇99| 夜夜揉揉日日人人青青一国产精品| 99国产精品一区二区| 97超碰资源站在线观看| 人人妻人人澡人人爽欧美一区双| 欧美精品videos另类日本| 亚洲大片精品永久免费| 久久精品观看| 国产精品日本一区二区不卡视频 | 88xx成人精品| 日本韩国视频一区二区| 免费看欧美女人艹b| 精品中文字幕一区二区三区| 导航艳情国产电影| swag国产精品一区二区| 国产精品尤物福利片在线观看| 日本成年人网址| 强开小嫩苞一区二区三区网站 | 老鸭窝av在线| 国产在线欧美日韩| www日韩欧美| 欧美性猛交xxxx富婆弯腰| 日韩福利视频导航| 第四色中文综合网| sese在线视频| 又色又爽又高潮免费视频国产| 999国产在线| 久久午夜a级毛片| 欧美电影一区二区三区| 国产精品欧美久久久久无广告 | 亚洲成av在线| 手机福利在线| 亚洲国产精品无码观看久久| 91免费视频国产| 久久6精品影院| 欧美v国产在线一区二区三区| 亚洲另类中文字|