如何在结果集的数组列表中存储2个整数以及如何检索它

时间:2015-11-26 03:47:27

标签: java arrays

如何在结果集的数组列表中存储2个整数以及如何检索它。 我试图将2整数存储到我的数组列表中,我不知道是否正确,因为当我尝试检索它时,它会输出这样的内容 ' tryCheckout $ @结帐4f4fffa4'多谢你们。到目前为止,这是我的代码。

public class checkout{
    public int roomtypeid,itemid;
}

ArrayList<checkout> returncheckout = new ArrayList<checkout>();

try{                
*String query ="select ri.item_id, ri.roomtype_id from roomtype_tb as rt , roomtypeitem_tb as ri , room_tb as r , reserverooms_tb as rr where rt.roomtype_id = r.roomtype_id and rt.roomtype_id = ri.roomtype_id and ri.roomtype_id = r.roomtype_id and r.room_id = rr.room_id and rr.reservation_id = 10";
                PreparedStatement pst =conn.prepareStatement(query);
                ResultSet rs = pst.executeQuery();


                while(rs.next())
                {
                    checkout out = new checkout();
                    out.roomtypeid = rs.getInt("ri.roomtype_id");
                    out.itemid = rs.getInt("ri.item_id");

                    returncheckout.add(out);


                }

                returncheckout.forEach(System.out::println);
            }catch(Exception e)
            {
                e.printStackTrace();
            }*

3 个答案:

答案 0 :(得分:0)

在checkout类中重写toString()方法。这是一个特殊的方法,当一个对象传递给System.out.println时会被调用。它看起来像这样:

@Override
public String toString()
{
    return "roomType=" + roomType + ", id=" + id;//Not sure what your variables are. You will need to change this line
}

我认为您的代码正在执行您想要的操作,您只需要使用toString()方法将结果打印出来就像您想要的那样。

答案 1 :(得分:0)

我没看到你的结账课。现在我做。将其更改为

public class checkout{
    public int roomtypeid,itemid;

@Override
public String toString()
{
    return "roomtypeid =" + roomtypeid + ", itemid=" + itemid;
}
}

答案 2 :(得分:0)

Java实际上是返回对象checkout的内存地址。这是输出到屏幕的奇怪数字。将这样的内容添加到checkout类。

public class checkout{
    public int roomtypeid, itemid;

    @Override
    public String toString()
    {
        return "Room Type ID: " + roomtypeid + " Item ID: " + itemid";
    }
}

打印对象时调用toString()方法。