我正在编写我的第一个Java程序(使用Struts2)收集3个字段的信息,将这些信息写入我的数据库,然后(在success.jsp
上)显示我的数据库中的所有信息表。PreparedStatement/ResultSet和Setters/Getters
虽然我已经做了大量关于getters/setter和从数据库中访问/插入数据的数据(在我的例子中是一个MySQL数据库),但有一点我不清楚。
在我的动作类我有PreparedStatement
S和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;
}
(谢谢你的加入OGNL标签罗马!) – ea0723
一两件事有关JDBC代码更好地移动到DAO层,而不是它用行动代码混合在一起。通过分离不同图层的代码来使用MVC框架。 –
Thanks @RomanC - 伟大的建议(在Ruby中,我创建了单独的模型,所以这对我来说非常合适)。 – ea0723