내가 보려고 정리하는/JAVA

페이징 / 검색(stype, sword, ctkey)

보동이용용 2023. 3. 27. 06:16
반응형
//PageVO

private int start;		// 출력 시작 번호
private int end;		// 출력 끝 번호

private int startPage;	// 출력 페이지 시작 번호
private int endPage;	// 출력 페이지 끝 번호
private int totalPage;	//총 페이지수

private static int perList = 10;	// 한 화면에 출력 할 글 수 
private static int perPage = 5; // 한 화면에 출력 할 페이지 수
//MessageServiceImpl
@Override
	public PageVO pageInfoSend(int page,  String senderid) {
    
        // 검색
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("stype", stype);
        map.put("sword", sword);
        map.put("ctkey", ctkey);

        // 전체글 갯수 구하기
        int count = this.totalCountSend(senderid);

        // 전체 페이지 수 구하기 - totalPage
        int perList = PageVO.getPerList();
        int totalPage = (int)(Math.ceil( (double)count / perList ));

        // page가 8 마지막이었는데 글이 모두 지워져서 8페이지가 사라진 경우
        // page번호를 7로 수정
        if(page > totalPage) page = totalPage;

        // start, end구하기 - page를 기준으로 
        int start = (page-1) * perList + 1;
        int end = start + perList - 1;
        if(end > count) end = count;

        // startPage, endPage 구하기 - page를 기준으로 
        int perPage = PageVO.getPerPage();
        int startPage = ((page-1) / perPage * perPage) + 1;
        int endPage = startPage + perPage - 1;
        if(endPage > totalPage) endPage = totalPage;

        // pageVO에 저장 - 
        PageVO vo = new PageVO();
        vo.setStart(start);
        vo.setEnd(end);
        vo.setStartPage(startPage);
        vo.setEndPage(endPage);
        vo.setTotalPage(totalPage);

        return vo;
    }

 

검색

1. 분류별 보기 + 검색단어

<!-- 분류 별 게시글 (공지) -->
	<sql id="dynamicCondition">
		<dynamic prepend=" where ">
			<isNotEmpty property="ctkey">
				ct_key=#ctkey#
			</isNotEmpty>
			<isNotEmpty property="stype" prepend=" and ">
				<isNotEmpty property="sword">
					$stype$ like '%'||#sword#||'%'
				</isNotEmpty>
			</isNotEmpty>
		</dynamic>
	</sql>

2. 제목검색

<select id="getSearchBoardList" parameterClass="string" resultClass="FreeBoardVo">
    select * from FREE_BOARD 
        where fb_title = like '%' || #fb_title# || '%'#fb_title# order by fb_num desc

</select>

 

반응형

'내가 보려고 정리하는 > JAVA' 카테고리의 다른 글

JDBC Util  (0) 2023.03.20
ajax는 왜 쓰는지? 동기/비동기  (0) 2023.01.27
DB와 연결하여 Lprod자료 가져오기  (0) 2023.01.27
Network Test - TCP / UDP - TCP써보자!  (0) 2023.01.24
Network Test - InetAddress  (0) 2023.01.24