sitelink1  
sitelink2  
sitelink3  
sitelink4  
sitelink5  
sitelink6  

검색과 정렬시에는 쿼리문에서 WHERE 문과 ORDER BY 문을 생성하게 되는데 이때 자바 로직에서는 if~else를 남발하게 마련이다.
복잡한 if~else문은 비즈니스 레이어에서든 퍼시스턴트 레이어에서든 코드의 가독성을 떨어뜨릴 수 밖에 없으며,
각 코더들마다 자기만의 코딩 스타일로 작업할 수 밖에 없다.
이렇게 검색과 정렬문의 생성에 필요한 로직을 따로 분리해냄으로써 주 비즈니스 로직의 가독성을 높여줄 수 있을것이라고 판단했다.

생성한 패키지는 com.omnibuscode.com.util.board.condition 이며 관련 클래스는 다음과 같다.
 

1. SearchInfo.java 
2. SearchInfoEmpty.java
3. SortInfo.java 
4. SortInfoEmpty.java
paging_condition.jpg

 


위 다이어그램에 나타나있는 SearchInfoEmpty.java클래스는 임의로 생성한 클래스이며 팩토리클래스에서 기본값 셋팅용으로 사용하고 있다.
기본적으로 변수생성시 기본값으로 지정해놓으면 검색문 생성 로직을 사용하면서 어딘가에서 발생하게 될 NullPointerexception을 방지할 수 있다.


SearchInfo 서브클래스는 다음의 SearchInfoForMysql 클래스를 참조하면 된다.

 


위와 같이 SearchInfo클래스에서 미리 정의한 몇가지 메서드들을 사용하여 서브클래스의 setSearchCondition() 메서드를 작성하게 된다. (Template Pattern)
그리고 이렇게 생성한 클래스들은 다음과 같은 코드로 사용할 수 있다.

 

 

  1. new SearchInfoForMysql(req).getSearchCondition();  

최종적으로 리턴되는 객체는 WHERE문 이하의 조건을 나타내는 스트링객체이다.
 

 

 

번호 제목 글쓴이 날짜 조회 수
103 J2SE 5.0 - 제네릭(GENERIC) 황제낙엽 2007.08.27 389
102 Cookie Test file 황제낙엽 2007.08.27 280
101 쿠키 유틸리티 클래스 CookieBox 만들기 file 황제낙엽 2007.08.27 420
100 통합을 위한 요소 기술, Java와 XML 황제낙엽 2007.08.27 419
99 중복 로그인 제한 기법에 대하여 황제낙엽 2007.08.23 457
98 interface와 abstract클래스의 차이점 황제낙엽 2007.07.28 520
97 javadoc - The Java API Documentation Generator 황제낙엽 2007.07.25 574
96 자바의 I/O 예제 [3] file 황제낙엽 2007.07.16 454
95 자바의 I/O 예제 [2] file 황제낙엽 2007.07.14 292
94 계층형(답변형) 게시판 로직(최근 답변 하단으로) 황제낙엽 2007.07.11 434
93 J2SE 5.0 - 주석(annotation,표식) 개요 황제낙엽 2007.07.03 393
92 include문과 logging 설정 황제낙엽 2007.03.23 551
91 [BPP] 게시판 페이징 로직 분석 - M1.1 - 샘플 다운로드 및 사용법 file 황제낙엽 2007.06.15 440
90 [BPP] 게시판 페이징 로직 분석 - (5) 페이지 계산 file 황제낙엽 2007.06.15 438
89 [BPP] 게시판 페이징 로직 분석 - (4) 쿼리문의 자동완성 file 황제낙엽 2007.06.14 489
» [BPP] 게시판 페이징 로직 분석 - (3) 검색과 정렬 file 황제낙엽 2007.06.13 354
87 [BPP] 게시판 페이징 로직 분석 - (2) 간단한 페이징 기법 황제낙엽 2007.06.08 826
86 [BPP] 게시판 페이징 로직 분석 - (1) 클래스 목록 file 황제낙엽 2007.06.06 393
85 문자열의 앞뒤space제거처리 성능체크 황제낙엽 2007.06.03 418
84 간단한 서블릿 예제들 file 황제낙엽 2007.05.12 323