时间: 2021-07-31 作者:daque
1、演练表的构造: 表名:mybbslist 字段 数据典型 证明 bbsid 机动编号 rootid int 根帖id,自己为根帖则rootid = id fid int 父帖id,上一层帖子的id,如是根帖则fid = 0 depth int 根帖level=0,其余按照恢复的深度递加 bbssubject char 中心
2。创造表:
create table mybbslist ( forumid int(20) not null, bbsid int auto_increment primary key, rootid int(20) not null, fid int(20) not null, depth int(20) not null, userid int(20) not null, bbsuser varchar(24) not null, bbssubject varchar(100) not null, bbscontent text, bbstime varchar(30), bbsread int(20), bbsreply int(20), index forumid (forumid))
3、贯穿mysql数据库的bean
package netzero; import java.sql.*; public class mydb { string drivername = "org.gjt.mm.mysql.driver"; connection conn = null; statement stmt = null; resultset rs = null; string connurl= "jdbc:mysql://localhost/mybbs?user=root&password=how&useunicode=true&characterencode=8859_1"; //string connurl= "jdbc:mysql://localhost/netzerobbs?user=root&password=how"; public mydb() { try { class.forname(drivername); } catch (java.lang.classnotfoundexception e) { system.err.println("netzero(string): " + e.getmessage()); } }
public resultset executequery(string sql) throws sqlexception { conn = drivermanager.getconnection(connurl); stmt = conn.createstatement(); rs = stmt.executequery(sql); return rs; }
public boolean closeconn() { try { if (rs!=null) rs.close(); if (stmt!=null) stmt.close(); if (conn!=null) conn.close(); return true; } catch ( sqlexception ex ) { system.err.println("closeconn: " + ex.getmessage()); return false; } }
}
4、表露乒坛的javascript/" target="_blank">jsp步调
<jsp:usebean id="mybbs" scope="session" class="netzero.mydb" /> <%@ page contenttype="text/html;charset=utf8" %> <%@ page import="java.io.*" %> <%@ page import="java.sql.*" %> <% int introwcount; out.print("表露乒坛树形构造"); out.print("<br><br>"); try { string sql="select * from mybbslist order by rootid desc,depth,fid,bbsid"; resultset rs = mybbs.executequery(sql); if (rs.next()) { rs.last(); introwcount=rs.getrow(); out.print("乒坛树中有"); out.print(introwcount); out.print("个叶子节点"); rs.first(); int j=0; int depth = 0; out.print("<ul>"); while(j<introwcount) { int rsdepth=rs.getint("depth"); if (rsdepth<depth) { for(int i=1;i<depth+1;i=i+1) { out.print("</ul>"); } } rsdepth=rs.getint("depth"); if (rsdepth>depth) { out.print("<ul>"); } out.print("<li>");
string bbssubject=rs.getstring("bbssubject"); out.print(bbssubject); out.print("</li>"); depth = rs.getint("depth"); j=j+1; rs.next(); } out.print("</ul>"); } else { out.print("数据库中无记载"); } }catch (sqlexception e) { out.println("sqlexception: " + e.getmessage()); out.println("sqlstate: " + e.getsqlstate()); out.println("vendorerror: " + e.geterrorcode()); } %> <% //封闭mysql贯穿 try { if(!mybbs.closeconn()); } catch (exception ex) { system.err.println("closeconn: " + ex.getmessage()); } %>