递归读取数据库记录
    前日看到一个递归读取数据库的javabean,是运用集合实现的,就尝试直接用java类实现,呵呵,结果出来啦,但没测试性能如何
表结构:organId int;organName String;superId int(上一级代码,根目录上级代码为0);
package service;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import DbUtil.DBConnectionManager;
public class organService{	
	public String getOrgan() {
		String returnStr="<List>";
		DBConnectionManager connectionMan = DBConnectionManager.getInstance();
		Connection con = connectionMan.getConnection("report");
		try {
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery("select *  from organ where superId=0");
			while (rs.next()) {
				returnStr=returnStr+"<rogan id='"+rs.getInt("organId")+"' name='"+rs.getString("organName")+"' superid='"+rs.getInt("superId")+"'>";
				returnStr=returnStr+getSub(con,rs.getInt("organId"));
				returnStr=returnStr+"</rogan>";
			}
			rs.close();
			rs=null;
			stmt.close();
			stmt=null;
		} catch (SQLException e) {
			System.out.println("SQLException error:" + e);
		} finally {
			connectionMan.freeConnection("report", con);
		}
		returnStr=returnStr+"</List>";
		return returnStr;
	}	
	public String getSub(Connection con,int superId)throws SQLException {
		String Str="";
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("select *  from organ where superId="+superId);
		while(rs.next()){
			Str=Str+"<rogan id='"+rs.getInt("organId")+"' name='"+rs.getString("organName")+"' superid='"+rs.getInt("superId")+"'>";
			Str=Str+getSub(con,rs.getInt("organId"));
			Str=Str+"</rogan>";
		}
		rs.close();
		rs=null;
		stmt.close();
		stmt=null;
		return Str;
	}
}