저는 3 개의 필드에 정보를 수집하고, db에 해당 정보를 쓰고 (success.jsp
에) 내 db의 모든 정보를 표시하는 첫 번째 Java 프로그램 (Struts2 사용)을 작성하고 있습니다. 표.PreparedStatement/ResultSet 및 Setters/Getters
getters/setter에 대한 많은 읽기와 데이터베이스에 데이터를/데이터에 액세스하는 동안 (내 인스턴스에서는 MySQL 데이터베이스), 한 가지 확실하지 않습니다. 내 액션 클래스에서
나는 PreparedStatement
의이 있고이 ResultSet
(쓰기와 MySQL의 DB에서 끌어) :
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;
}
는 DAO 계층에 JDBC 코드를 더 이동에 대해 – ea0723
한 가지 더 (하세요 OGNL 태그 로마를 추가 주셔서 감사합니다) 대신 액션 코드로 섞는다. 다른 레이어의 코드를 분리하여 MVC 프레임 워크를 사용하십시오. –
고마워요 @RomanC - 훌륭한 조언 (Ruby에서는 별도의 모델을 만들었으므로 완벽한 의미를 갖습니다). – ea0723