package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class TestJDBC {
//getConnecttion
public Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//创建各种statement
public Statement getStatement(){
Connection conn = getConnection();
Statement statement = null;
try {
statement = conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return statement;
}
public ResultSet getMenu() {
TestJDBC test = new TestJDBC();
Statement statement = test.getStatement();
String sql="select * from pm_menu";
ResultSet executeQuery = null;
try {
executeQuery = statement.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return executeQuery;
}
public List toList(ResultSet resultSet) throws SQLException{
List list = new ArrayList();
while(resultSet.next()){
Menu menu = new Menu();
menu.setPmId(resultSet.getString("pm_id"));
menu.setPmName(resultSet.getString("pm_name"));
menu.setPmLevel(resultSet.getString("pm_level"));
menu.setPmPid(resultSet.getString("pm_parent_id"));
list.add(menu);
}
return list;
}
//打印树菜单
public void builtTree(List<Menu> list){
for(Menu menu : list){
if(menu.getPmPid().equals("0")){
built(menu,list,0);
}
}
}
private void built(Menu menu, List<Menu> list, int i) {
List<Menu> ChildList = getChildList(menu,list);
if(ChildList != null){
String str = "";
for(int j=0;j<i;j++){
str+="--";
}
System.out.println(str+menu.getPmName());
for(Menu menuChild : ChildList){
built(menuChild,list,i+1);
}
}
}
private List<Menu> getChildList(Menu menu, List<Menu> list) {
List<Menu> ChildList = new ArrayList();
for(Menu menuChild : list){
if(menu.getPmId().equals(menuChild.getPmPid())){
ChildList.add(menuChild);
}
}
return ChildList;
}
public static void main(String[] args) {
TestJDBC t = new TestJDBC();
ResultSet resultSet = t.getMenu();
try {
List list = t.toList(resultSet);
t.builtTree(list);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class TestJDBC {
//getConnecttion
public Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
//创建各种statement
public Statement getStatement(){
Connection conn = getConnection();
Statement statement = null;
try {
statement = conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return statement;
}
public ResultSet getMenu() {
TestJDBC test = new TestJDBC();
Statement statement = test.getStatement();
String sql="select * from pm_menu";
ResultSet executeQuery = null;
try {
executeQuery = statement.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return executeQuery;
}
public List toList(ResultSet resultSet) throws SQLException{
List list = new ArrayList();
while(resultSet.next()){
Menu menu = new Menu();
menu.setPmId(resultSet.getString("pm_id"));
menu.setPmName(resultSet.getString("pm_name"));
menu.setPmLevel(resultSet.getString("pm_level"));
menu.setPmPid(resultSet.getString("pm_parent_id"));
list.add(menu);
}
return list;
}
//打印树菜单
public void builtTree(List<Menu> list){
for(Menu menu : list){
if(menu.getPmPid().equals("0")){
built(menu,list,0);
}
}
}
private void built(Menu menu, List<Menu> list, int i) {
List<Menu> ChildList = getChildList(menu,list);
if(ChildList != null){
String str = "";
for(int j=0;j<i;j++){
str+="--";
}
System.out.println(str+menu.getPmName());
for(Menu menuChild : ChildList){
built(menuChild,list,i+1);
}
}
}
private List<Menu> getChildList(Menu menu, List<Menu> list) {
List<Menu> ChildList = new ArrayList();
for(Menu menuChild : list){
if(menu.getPmId().equals(menuChild.getPmPid())){
ChildList.add(menuChild);
}
}
return ChildList;
}
public static void main(String[] args) {
TestJDBC t = new TestJDBC();
ResultSet resultSet = t.getMenu();
try {
List list = t.toList(resultSet);
t.builtTree(list);
} catch (SQLException e) {
e.printStackTrace();
}
}
}