importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjava.util.ArrayList;
importjava.sql.Connection;/***@author25673
* @数据库连接类*/
public classConnectionUtil {public staticConnection getConnection() {
Connection conn= null;try{
Class.forName("com.mysql.jdbc.Driver");//"jdbc:mysql://数据库地址:3306/数据库名","用户名","用户密码"
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/quanxian","root","");
}catch(Exception e) {
e.printStackTrace();
}returnconn;
}public static ArrayList
Connection c = null;
Statement s= null;
ResultSet r= null;
ArrayList
c=getConnection();try{
s=c.createStatement();
r=s.executeQuery(sql);
arrList= new ArrayList
Menu menu= newMenu();
menu.setId(r.getString("id"));
menu.setParentid(r.getString("parent_id"));
menu.setMenuName(r.getString("menu_name"));
arrList.add(menu);
}
}catch(Exception e) {
e.printStackTrace();
}finally{try{
c.close();
s.close();
r.close();
}catch(Exception e) {
e.printStackTrace();
}
}returnarrList;
}/***@paramarrList 查询出来的所有符合条件的结果
*@paramparentid 第一级菜单的parentid
*@return
*/
public staticString strJson(String parentid) {/*每调用一次这个方法, 就要去连接一次数据库, 总觉这样会增加很多工作量, 因为是进行了多次查询
这里使用了递归的方式*/ArrayList
StringBuilder sb= newStringBuilder();for(int n = 0;n < arrList.size();n++) {
sb.append("{");
sb.append("\"id\":\""+arrList.get(n).getId()+"\",");
sb.append("\"text\":\""+arrList.get(n).getMenuName()+"\"");
String str=strJson(arrList.get(n).getId());if(!str.equals("")) {
sb.append(",\"state\":\"closed\"");
sb.append(",\"children\":["+str+"]");
}
sb.append("}");if(n < (arrList.size() - 1)) {
sb.append(",");
}
}returnsb.toString();
}
}