簡體   English   中英

當類在jdbc servlet jsp mysql中具有另一個類的外鍵時,如何列出類的所有元素?

[英]how to list all elements of class when class have foreign key of another class in jdbc servlet jsp mysql?

當類具有另一個類字段時,如何在Java中列出類元素? 看起來像這樣:

public class Grad {

private int grad_id;
private **Drzava drzava**;
private String naziv;
private boolean aktivan;
private Set<Korisnik> korisnici = new HashSet<Korisnik>(0);
public Drzava getDrzava() {
    return drzava;
}
public void setDrzava(Drzava drzava) {
    this.drzava = drzava;
}
        public List<Grad> getAllGrad() {

    List<Grad> gradovi = new ArrayList<Grad>();
    try {
        Statement statement = DBConnection.getConnection().createStatement();
        ResultSet rs = statement.executeQuery("select * from grad;");
        while (rs.next()) {
            Grad grad = new Grad();
            grad.setGrad_id(rs.getInt("grad_id"));
        **grad.setDrzava( (Drzava)rs.getObject("drzava"));**/**(HERE IS A     PROBLEM!!)**/
            grad.setNaziv(rs.getString("naziv"));
            grad.setAktivan(rs.getBoolean("aktivan"));
            gradovi.add(grad);
        }




else if (action.equalsIgnoreCase("listGrad")){
        forward = LIST_GRAD;
        request.setAttribute("gradovi", dao.getAllGrad());

這是在jsp頁面中,我認為該錯誤位於grad.drzava.naziv:

<c:forEach items="${gradovi}" var="grad">
            <tr>
                <td><c:out value="${grad.grad_id}"/></td>
                <td><c:out value="${grad.drzava.naziv}"/></td> 
                <td><c:out value="${grad.naziv}" /></td>
                <td><c:out value="${grad.aktivan}" /></td>

異常是:java sql SQLException找不到列'drzava'。

非常感謝您的回答:))

ResultSet rs = statement.executeQuery("select * from grad;");

這將返回“ Drzava”表的主鍵,即grad表中的外鍵。 因此,要獲取Drzava類對象,您需要再次執行另一個查詢,例如:

ResultSet rs = statement.executeQuery("select * from drzava;");

然后將所得的drzava類對象分配給grad類變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM