此次做项目使用JDBC,遇到了一个树形结构,采用递归查找父类,有了一个初步的认识。
- public Channel findParent(int id){
- if (id==0) {
- return null;
- }else {
- int parent = 1;
- Channel c=new Channel();
- String sql="select * from channel where id=?";
- conn=DBConnection.getConnection();
- try {
- ps=conn.prepareStatement(sql);
- ps.setInt(1, id);
- rs=ps.executeQuery();
- while (rs.next()) {
- parent=rs.getInt("parent"); c.setChannelName(rs.getString("channelName"));
- }
- rs.close();
- ps.close();
- conn.close();
- if (parent!=0) {
- 1. c.setChaparent(findParent(parent));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return c;
- }
- }
先说递归的执行顺序:类似于拦截器,if (parent!=0)则一直执行1.以前的语句 else 执行1.以后的语句。并且执行顺序是1 2 3 。3 2 1
转载于:https://blog.51cto.com/4215825/1107493