gpt4 book ai didi

mysql - 当类具有 jdbc servlet jsp mysql 中另一个类的外键时,如何列出类的所有元素?

转载 作者:行者123 更新时间:2023-11-30 01:37:57 26 4
gpt4 key购买 nike

当类有另一个类字段时,如何在 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 类变量。

关于mysql - 当类具有 jdbc servlet jsp mysql 中另一个类的外键时,如何列出类的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16599012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com