import java.sql.*;
public class AticleTree {
/**
* @param args
*/
public static void main(String[] args) {
new AticleTree().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://127.0.0.1/bbs?user=root&password=root");
stmt = conn.createStatement();
rs =stmt.executeQuery("select * from artice 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 strf = new StringBuffer("");
for(int i=0; i<level; i++) {
strf.append(" ");
}
try {
stmt = conn.createStatement();
String sql = " select * from artice where pid =" +id;
rs = stmt.executeQuery(sql);
while(rs.next()) {
System.out.println(strf+rs.getString("id")+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();
}
}
}
}