PreparedStatement / ResultSet和Setters / Getters

时间:2013-09-28 11:25:26

标签: jdbc

我正在编写我的第一个Java程序(使用Struts2)在3个字段中收集信息,将该信息写入我的数据库,然后(在success.jsp上)在表中显示我的数据库中的所有信息。

虽然我已经做了很多关于getter / setter和从数据库中插入数据/在数据库中插入数据的数据(在我的实例中,MySQL数据库),但有一点我不清楚。

在我的动作类中,我有PreparedStatement个和ResultSet(从MySQL数据库写入和拉出):

PreparedStatement pstmt = con.prepareStatement("INSERT INTO DBName(field1, field2, field3) VALUES(?, ?, ?);");
PreparedStatement pstmtSelect = con.prepareStatement("SELECT * FROM DBName");
{
    pstmt.setString(1, this.field1); 
    pstmt.setString(2, this.field2);
    pstmt.setString(3, this.field3);
    pstmt.executeUpdate();  
    ret = SUCCESS;

    ResultSet rset = pstmtSelect.executeQuery();
    while (rset.next()) {
        field1 = rset.getString(1);
        field2 = rset.getString(2);
        field3 = rset.getString(3);
        ret = SUCCESS;
    }
}

我的问题是:我的动作类中是否还需要以下代码,还是多余的?或者它是否覆盖了上述内容?

public String getField1() {
    return this.field1;
}

public void setField1(String field1) {
    this.field1 = field1;
}

public String getField2() {
    return this.field2;
}
public void setField2(String field2) {
    this.field2 = field2;
}

public String getField3() {
    return this.field3;
}

public void setField3(String field3) {
    this.field3 = field3;
}

1 个答案:

答案 0 :(得分:1)

您不需要动作类中的getter和setter。你只需要在持有3个字段的bean中使用它。在action类中,您可以创建该bean的实例并调用setter并设置从结果集中获取的值。在显示时,您可以调用getter来获取刚刚在bean上设置的值。

ResultSet rset = pstmtSelect.executeQuery();
            FieldBean field = new FieldBean();         
            while (rset.next()) {
                field.setField1(rset.getString(1));
                field.setField2(rset.getString(2));
                field.setField3(rset.getString(3));
                ret = SUCCESS;
            }