程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> jsp-JSP,MVC查詢外鍵所在表中的其他內容並放入list中在前台頁面顯示數據

jsp-JSP,MVC查詢外鍵所在表中的其他內容並放入list中在前台頁面顯示數據

編輯:編程綜合問答
JSP,MVC查詢外鍵所在表中的其他內容並放入list中在前台頁面顯示數據

VO中的字段
Emp
private String id;
private String e_id;
private String e_head;
private String e_name;
private String e_sex;
private Dep d_id;
private String e_tell;
private String e_address;

Dep
private String d_id;
private String d_name;

DAO中的代碼
public List<中的代碼Emp> queryAllEmp() {
    List<Emp> emps = new ArrayList<Emp>();
    Connection conn = null;
    Statement st = null;
    ResultSet rs = null;
    String sql = "select id,e_id,e_head,e_name,e_sex,dep.d_name,e_tell,e_address from emp,dep" +
            "where emp.d_id=dep.d_id";
    try {
        conn = DBConnection.getInstance().getConnection();
        st = conn.createStatement();
        rs = st.executeQuery(sql);
        while (rs.next()) {
            Emp emp = new Emp();
            emp.setId(rs.getString("id"));
            emp.setE_id(rs.getString("e_id"));
            emp.setE_head(rs.getString("e_head"));
            emp.setE_name(rs.getString("e_name"));
            emp.setE_sex(rs.getString("e_sex"));
            emp.setD_id(rs.getString("d_id"));
            emp.setE_tell(rs.getString("e_tell"));
            emp.setE_address(rs.getString("e_address"));
            emps.add(emp);
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally{
        DBConnection.getInstance().close(rs, st, conn);
    }
    return emps;
}
想查出emp裡面的字段和外鍵d_id對應的d_name
求指教怎麼改,應該是什麼樣的一個思路

最佳回答:


要麼用多表查詢,要麼就用java代碼控制,實現兩次查詢過程。第一種很簡單,就說說第二種吧。你的Emp類中的d_id屬性是Dep對象,所以emp.setD_id(rs.getString("d_id"));這句代碼是有問題的,查出來的應該是一個Sting類型的id號,是不能轉化為Dep對象的,你要根據查詢出來的id號再到Dep表中查詢對應的name屬性,new 一個Dep對象後,再emp.setD_id(new Dep(..));添加到ArrayList對象中。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved