zoukankan      html  css  js  c++  java
  • [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();
                }
            }
        }
    }
    

  • 相关阅读:
    verilog 数组参数
    跨时钟域设计【一】——Slow to fast clock domain
    跨时钟域设计【二】——Fast to slow clock domain
    跨时钟域设计【三】—— 数据同步
    Vivado学习笔记_002
    使用modelsim仿真DDR3时编译出错的解决方法
    Modelsim仿真tcl脚本与wave.do文件
    %s 与 %0s在 verilog中的区别
    BFM1
    verilog 常用系统函数及例子
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786880.html
Copyright © 2011-2022 走看看