gpt4 book ai didi

java - 我的 Java 代码无法检索所有产品详细信息,我该如何解决这个问题?

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:16 25 4
gpt4 key购买 nike

 public Product getAllProducts(String productType) 
{
Connection con = getConnection();
String sql = "select* from product_item where productType='" + productType + "'";
Product u = new Product();
try
{
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next())
{
int proID = rs.getInt("productID");
String productName = rs.getString("productName");
String productTyp = rs.getString("productType");
String productDiscription = rs.getString("productDiscription");
int productPrice = rs.getInt("productPrice");
String productSize = rs.getString("productSize");
String productPicURL =rs.getString("productPicURL");
u = new Product(proID,productName,productTyp,productDiscription,productPrice,productSize,productPicURL);
}
con.close();
}
catch (SQLException | NullPointerException e)
{
e.printStackTrace();
}
return u;
}

这是我的 getAllProduct 函数,我将发送 ProductType 属性,即索引。所以现在我想检索我的所有数据,但它不起作用,

这可能只显示我的表的最后一个原始数据,但我想要数据库中的所有产品类型的数据,请帮帮我,我错过了什么?

最佳答案

虽然您正在获取所有记录,但您只返回最后一个记录值。

您可以使用ArrayList来存储获取的每条记录。下面的代码片段将帮助您了解所需的更改。

Product u = new Product();
ArrayList<Object> productList = new ArrayList<Object>();
try
{
PreparedStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next())
{
int proID = rs.getInt("productID");
String productName = rs.getString("productName");
String productTyp = rs.getString("productType");
String productDiscription = rs.getString("productDiscription");
int productPrice = rs.getInt("productPrice");
String productSize = rs.getString("productSize");
String productPicURL =rs.getString("productPicURL");
u = new Product(proID,productName,productTyp,productDiscription,productPrice,productSize,productPicURL);
productList.add(u);
}
con.close();
}
catch (SQLException | NullPointerException e)
{
e.printStackTrace();
}
httpRequest.setAttribute("prodList", productList);

然后在jsp中,您可以使用JSTL循环遍历ArrayList对象。您需要包含 taglib 库,如下所示:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

然后您需要在 jsp 代码中对表数据进行以下更改:

<c:forEach="${prodList}" var="product">
<tr>
<td><c:out value="${product.productID}"/></td>
<td><c:out value="${product.productName}"/></td>
<td><c:out value="${product.productType}"/></td>
<td><c:out value="${product.productDiscription}"/></td>
<td><c:out value="${product.productPrice}"/></td>
<td><c:out value="${product.productSize}"/></td>
<td><img src="<c:out value="${product.productPicURL}"/>" style="width:304px;height:228px;"></td>
</tr>
</c:forEach>

关于java - 我的 Java 代码无法检索所有产品详细信息,我该如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41254307/

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