此次做项目使用JDBC,遇到了一个树形结构,采用递归查找父类,有了一个初步的认识。

 

  1. public Channel findParent(int id){ 
  2.         if (id==0) { 
  3.             return null
  4.         }else { 
  5.         int parent = 1
  6.             Channel c=new Channel(); 
  7.             String sql="select * from channel where id=?"
  8.             conn=DBConnection.getConnection(); 
  9.             try { 
  10.                 ps=conn.prepareStatement(sql); 
  11.                 ps.setInt(1, id); 
  12.                 rs=ps.executeQuery(); 
  13.                 while (rs.next()) { 
  14.     parent=rs.getInt("parent");         c.setChannelName(rs.getString("channelName")); 
  15.  
  16.                 } 
  17.                 rs.close(); 
  18.                 ps.close(); 
  19.                 conn.close(); 
  20.                 if (parent!=0) {   
  • 1.            c.setChaparent(findParent(parent)); 
  1.                 } 
  2.             } catch (SQLException e) { 
  3.                 e.printStackTrace(); 
  4.             } 
  5.  
  6.             return c; 
  7.  
  8.         } 
  9.  
  10.     } 

先说递归的执行顺序:类似于拦截器,if (parent!=0)则一直执行1.以前的语句 else 执行1.以后的语句。并且执行顺序是1 2 3 。3 2 1