繁体   English   中英

使用Java Bean数组列表访问数据库表

[英]Access Database Table using java bean array list

我正在尝试使用Java bean属性和数组列表访问数据库表数据。 我将数组列表转换为html表。 我找不到合适的例子。 我不想使用Servlet。

public class ItemBean {
    int item_id;
    String item_name;
    String item_description;
    double item_costpice;
    double item_unitpice;
    public void setItemId(int id){this.item_id=id;}  
    public int getItemId(){return item_id;}  

    public void setItemName(String name){this.item_name=name;}  
    public String getItemName(){return item_name;} 

    public void setItemDesc(String name){this.item_name=name;}  
    public String getItemDesc(){return item_name;} 

    public void setItemCostPrice(double price){this.item_costpice=price;}  
    public double getItemCostPrice(){return item_costpice;} 

    public void setItemUnitPrice(double price){this.item_unitpice=price;}  
    public double getItemUnitPrice(){return item_unitpice;} 

}

package pam.setup;
import java.sql.*;
import java.util.ArrayList;

public class Item {

    public static ArrayList<ItemBean> ItemList()
    {
        ResultSet rs = null;
        ArrayList<ItemBean> list=new ArrayList<ItemBean>();
        ItemBean dbitem = new ItemBean();
        try{


            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection(  
                    "jdbc:mysql://localhost:3306/sonoo","root","");  

                Statement stmt=con.createStatement();  
                rs=stmt.executeQuery("select * from items");  
                con.close(); 
                while (rs.next()) {   
                    dbitem.setItemId(rs.getInt("item_id"));
                    dbitem.setItemName(rs.getString("name"));
                    dbitem.setItemDesc(rs.getString("description"));
                    dbitem.setItemCostPrice(rs.getDouble("cost_price"));
                    dbitem.setItemUnitPrice(rs.getDouble("unit_price"));
                    list.add(dbitem);
                }           
        }catch(Exception e){ System.out.println(e);}

        return list;

    }
}

<jsp:useBean id="items" scope="page" class="pam.setup.Item" type="pam.setup.Item">
    <table>
        <tbody>
        <c:forEach items="${item.itemList}" var="item">
            <tr><td>item.itemId</td><td>item.itemName</td></tr>
        </c:forEach>
        </tbody>
    </table>
</jsp:useBean>

我已经编写了上面的代码,我想使用java bean属性访问jsp中的数据库表数据,并迭代数据并生成HTML表。 但是我得到下面提到的结果,而不是实际的项目ID和名称。

item.itemId item.itemName

必须为循环的每次迭代创建新的ItemBean:

while (rs.next()) { 
    ItemBean dbitem = new ItemBean();
    dbitem.setItemId(rs.getInt("item_id"));
    ...

循环关闭连接。

使用$ {}评估bean表达式:

 <tr><td>item.itemId</td><td>${item.itemName}</td></tr>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM