我正在编写我的第一个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;
}
答案 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;
}