• [Java] bbs 中帖子的树状展现 JDBC (ArticleTree.java)


    import java.sql.*;
    
    public class ArticleTree {
        public static void main(String[] args) {
            new ArticleTree().show();
        }
    
        public void show() {
            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
    
                conn = DriverManager
                        .getConnection("jdbc:mysql://localhost/bbs?user=root&password=root");
                stmt = conn.createStatement();
                rs = stmt.executeQuery("select * from article where pid = 0");
                while (rs.next()) {
                    System.out.println(rs.getString("cont"));
                    tree(conn, rs.getInt("id"), 1);
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                        rs = null;
                    }
                    if (stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                    if (conn != null) {
                        conn.close();
                        conn = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void tree(Connection conn, int id, int level) {
            Statement stmt = null;
            ResultSet rs = null;
    
            StringBuffer strPre = new StringBuffer("");
            for (int i = 0; i < level; i++) {
                strPre.append("★★★★");
            }
    
            try {
                stmt = conn.createStatement();
                String sql = "select * from article where pid = " + id;
                rs = stmt.executeQuery(sql);
                while (rs.next()) {
                    System.out.println(strPre + rs.getString("cont"));
                    if (rs.getInt("isleaf") != 0)
                        tree(conn, rs.getInt("id"), level + 1);
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                        rs = null;
                    }
                    if (stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

  • 相关阅读:
    AFHTTPRequestOperationManager的那些事
    iOS缩放图片
    iOS截图
    网络服务
    Six
    正文处理命令及tar命令
    用户,群组和权限 四
    用户,群组和权限 三
    用户,群组和权限 二
    用户,群组和权限 一
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786880.html
Copyright © 2020-2023  润新知