Open hj-k66 opened 6 months ago
add() 메서드는
ps.setString(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getPassword());
다음과 같이 PreparedStatement 에 바인딩될 파라미터들이 개수가 정해져 있지 않으니
public void add(String query, Object... objs) throws SQLException {
StatementStrategy st = new StatementStrategy(){
@Override
public PreparedStatement makePreparedStatement(Connection c) throws SQLException {
PreparedStatement ps = c.prepareStatement(query);
int count = 1;
for(Object obj : objs){
ps.setString(count++,obj);
}
return ps;
}
});
this.jdbcContext.workWithStatementStrategy(st);
}
다음과 같이 가변인자를 사용해서 적용해라 이 말 아닐까요??
249p에서 deleteAll()메소드를 콜백 재활용을 적용하여 바꿀 수 있다 합니다. add() 메소드의 콜백에서 SQL 문장과 함께 PreparedStatement에 바인딩될 파라미터를 가변인자로 정의해 사용한다는데 어떻게 구현하는 건지 잘 모르겠습니다.
다들 어떻게 하셨는지 궁금합니다!