데이터베이스 액세스 권한이있는 프로젝트에서 작업하고 있습니다. 여기에 내가 데이터베이스 액세스 권한이있는 OOP 프로그래밍
public class Foo {
private String id;
private String name;
private int x;
private String y;
private String z;
...
public Foo(String id) throws SQLException {
this.id=id;
try (Statement stmt = MyConnectionManager().getConnection().createStatement()) {
ResultSet rs = stmt.executeQuery("SELECT * FROM " + TABLE_NAME
+ " WHERE(id='" + this.id + "')");
if (!rs.next()) {
throw new NoExistException();
}
this.name = rs.getString("Name");
this.x = ...
...
} catch (SQLException ex) {
throw ex;
}
}
public int getId() {
return this.id;
}
public String getName() {
.
.
.
를 구현 한 클래스의 개요입니다하지만 대부분의 OOP 샘플에서 보았을 때 나는 대부분의 사람들이 데이터베이스 액세스를위한 추가 클래스를 사용하는 것으로 나타났습니다. 나는 무슨 말을하려고 하는지를 모르는 척한다. 이러한 코드는 각 멤버 변수를 초기화하기 위해 데이터베이스에 액세스합니다. 하지만 내 코드 데이터베이스
내 개체를 초기화하는 데 한 번만 액세스 할 수 있습니다. 이 접근 방식을 변경해야합니까? 내가
을 변경하면 더 많은 객체를 함께 초기화하려고 할 때 (즉, 수백 개일 수 있음) 내 응용 프로그램의 속도에 영향을 미칩니다. 나는 이것이 중복 질문일지도 모른다고 생각한다. 그러나 나는 나의 특별한 문제에 대한 만족스러운 대답을 찾지 못했습니다.
'3-tier'라는 질문을 표시 했으므로 데이터베이스 액세스를 전용 레이어에 넣어야합니다. – Aubin