程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 遞歸讀取數據庫的javabean

遞歸讀取數據庫的javabean

編輯:關於JAVA

/* * 創建日期 2005-4-14 * * TODO 要更改此生成的文件的模板,請轉至 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板 */package treeMenu;import java.util.*;import java.sql.*;import dbmanager.DBConnection;import javax.servlet.JSp.JSPWriter;/** * @author 呆猴 lucky * * TODO 要更改此生成的類型注釋的模板,請轉至 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板 */public class Tree { private DBConnection conn; public ArrayList arrayid;//定義包含所有id的數組 public ArrayList arrayname;//定義包含所有名稱的數組 public ArrayList arrayparent;//定義包含所有父id的數組 public ArrayList class1_id;//定義包含所有一級信息id的數組 public Tree(){ try{ conn=new DBConnection(); } catch(Exception e){ System.out.println("sorry"); } } /** * * 定義讀取所有相關記錄和一級信息的方法 */ public void buidTreeinit() throws SQLException{ ResultSet rs=conn.runRs("select * from sp_sys_menu_item"); String aa=""; String id=""; String name=""; String parent_id=""; int i=0; arrayid=new ArrayList(); arrayname=new ArrayList(); arrayparent=new ArrayList(); class1_id=new ArrayList(); while(rs.next()){ id=rs.getString("id"); name=rs.getString("name"); parent_id=rs.getString("parent_id"); arrayid.add(id);//把所有id信息賦值到arrayid數組中 arrayname.add(name);//把所有name信息賦值到arrayname數組中 arrayparent.add(parent_id);//把所有parent_id信息賦值到arrayparent數組中 /** * 把所有的一級信息賦值到數組class1_id中 */ if(parent_id.equals("0")) { class1_id.add(id); } } conn.free(); } /** * 開始定義樹型結構的構造 * @param parentid * @throws SQLException */ public void buildTree(JSPWriter out,String parentid,int j) throws Exception{ j++; ArrayList tmplist=new ArrayList();//包含所有父id為parent_id的記錄的名稱數組 String mmm=" "; String nnn="|"; for(int q=0;q"; table2=table2+""+mmm+nnn+" "; table2=table2+""; table2=table2+"修改 "; table2=table2+"注冊下級菜單 "; table2=table2+" "; table2=table2+""; table2=table2+""; while(arrayparent.indexOf(parentid)!=-1) { String tmpname=(String)arrayname.get(arrayparent.indexOf(parentid));//獲取所有父id為parent_id的記錄的名稱 String tmpid=(String)arrayid.get(arrayparent.indexOf(parentid));//獲取該子信息的id,用於賦予下級子信息的父id if(has_child(tmpid)){ out.print(table2.replaceAll("",tmpname).replaceAll("","")); } else{ out.print(table2.replaceAll("",tmpname).replaceAll("","刪除")); } int tmp=arrayparent.indexOf(parentid);//獲取參數parent_id所在位置 arrayparent.remove(tmp);//刪除參數parent_id所在位置的parent_id arrayid.remove(tmp);//刪除參數parent_id所在位置的id arrayname.remove(tmp);//刪除參數parent_id所在位置name if(has_child(tmpid))//如果該條信息有相關子信息重新執行buildTree方法 { buildTree(out,tmpid,j); } } } /** * 進行是否有子信息判斷 * @param parentid * @return */ public boolean has_child(String parentid) { boolean bb=false; if(arrayparent.indexOf(parentid)!=-1) {

bb=true; } return bb; } /** * 樹型結構顯示 * @param args * @throws Exception */ public void showTree(JSPWriter out) throws Exception{ Tree aa=new Tree(); aa.buidTreeinit(); String table1=""; table1=table1+""; table1=table1+" "; table1=table1+""; table1=table1+"修改 "; table1=table1+"注冊下級菜單 "; table1=table1+" "; table1=table1+""; table1=table1+""; for(int i=0;i",(String)aa.arrayname.get(i)).replaceAll("","")); } else{ out.print(table1.replaceAll("",(String)aa.arrayname.get(i)).replaceAll("","刪除")); } aa.buildTree(out,(String)aa.class1_id.get(i),0); } }}

數據庫(數據庫培訓 數據庫認證 )連接和數據庫操作類:

/* * 創建日期 2005-4-14 * * TODO 要更改此生成的文件的模板,請轉至 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板 */package dbmanager;import java.sql.*;/** * @author Administrator * * TODO 要更改此生成的類型注釋的模板,請轉至 * 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板 */public class DBConnection { String user="sa"; String password="sa"; String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; String sConnStr="jdbc:microsoft:sqlserver://172.16.204.10:1433;DatabaseName=HLSP_MIS"; Connection connect=null; ResultSet rs=null; Statement stmt = null, stmt1 = null; public DBConnection(){ try{ Class.forName(sDBDriver); connect = DriverManager.getConnection(sConnStr,user,passWord); stmt = connect.createStatement(); stmt1=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

} catch(Exception e){ System.err.println(e.getMessage()); } } //執行數據庫查詢 public ResultSet runRs(String sql){ rs=null; try{ rs=stmt1.executeQuery(sql); } catch(SQLException ex){ System.err.println(ex.getMessage()); } return rs; } //執行數據庫其他操作 public boolean executeSql(String sql) { boolean che=false; try { stmt.executeUpdate(sql); che=true; } catch (SQLException ex) { System.err.println(ex.getMessage()); che=false; } return che; } //進行數據庫連接釋放 public boolean free(){ try { connect.close(); if (stmt!=null){ stmt.close(); } if(stmt1!=null){ stmt1.close(); } return true; } catch (Exception e) { return false; }

}}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved