DAO 계층 코드 최적화

1864 단어
DAO 계층 코드가 많이 반복되므로 템플릿 방법을 사용하여 최적화 가능
1. 우선 카탈로그에 패키지 하나 더 정의common2. 다시 신문에 새 인터페이스JDBCCallback
public interface JDBCallback {

   T reToObject(ResultSet rs) throws SQLException;
   void setParams(PreparedStatement stmt) throws SQLException;  //    

}

3. 가방 아래에 추상 클래스 새로 만들기JDBCAbstractCallBack
public abstract class JDBCAbstractCallBack implements JDBCCallBack {

   @override
   public T reToObject(ResultSet rs){
       return null;
   };
   public setParams(PreparedStatement stmt){
         return null;
   };
}

4. 가방 아래에 클래스 새로 만들기JDBCTemplate1(범용)
public class JDBCTemplate {

   public List query(String sql, JDBCCallback jdbcCallback) {
       Connection conn = null;
       PreparedStatement stmt = null;
       ResultSet rs = null;
       List data = new ArrayList();
       try {
           conn = DBUtil.getConnection();
           stmt = conn.preparedStatement(sql);

           rs = stmt.excuteQuery();
                       while(rs.next()) {
                           T object = jdbcCallback.rsToObject(rs);
                            data.add(object);
                       }

       } catch (SQLException e) {
           e.printStackTrace();
       } finally {
           DBUtil.close(rs, stmt, conn);
       }

       return data;
   }
} 

5. DAO에서 호출
JDBCTemplate jdbcTemlate = new JDBCTemplate();
jdbcTemlate.query(sql, new JDBCAbstractCallBack(){
         @override
         public Book rsToObject(ResultSet rs) throws SQLException {
              Book book = new Book();
              book.setxxxx(rs.getXXX(xxx));
              return book;
         }
  }  );

좋은 웹페이지 즐겨찾기