게시판 마스터 페이징 문제
- 작성자 :
- 유*파
- 작성일 :
- 2020-07-13 15:48:13
- 조회수 :
- 2,577
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
수고하십니다.
개발환경은 3.8 입니다. java1.8, mysql 5.5.62 를 사용합니다.
질문드릴 내용은 게시판 마스터 페이징 문제입니다.
예를들어 게시판을 10개이상 생성했습니다.
당연히 페이지가 1 2 이렇게 두개는 나와야겠지요.
근데 다른 기능의 페이징 부분은 다 정상적으로 처리되는데 이상하게 게시판마스터 목록만 페이징이 1 밖에 안나옵니다.
커스터마이징 한부분도 없고 수정한 부분도 없는데 이상해서, 정상작동 하는 부분하고 여러군데 다 비교해봤습니다.
일단 EgovBBSMaster_SQL_mysql.xml 파일에서 이부분을 주석처리후 정상작동은 확인했습니다만
문제가 해결된거 같지 않은 느낌이 들어서 문의드립니다.
.................
<select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer">
SELECT
COUNT(a.BBS_ID)
FROM
COMTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d
ON a.FRST_REGISTER_ID = d.ESNTL_ID
WHERE 1=1
<!-- <if test='cmmntyId == null or cmmntyId == ""'>AND -->
<!-- a.CMMNTY_ID IS NULL -->
<!-- </if> -->
<!-- <if test='cmmntyId != null and cmmntyId != ""'>AND -->
<!-- a.CMMNTY_ID = #{cmmntyId} -->
<!-- </if> -->
<if test="searchCnd == 0">AND
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
<if test="searchCnd == 1">AND
a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%')
</if>
</select>
주석부분이 커뮤니티 아이디 묻는 부분인데 이부분이 있으면 controller 부분에서 resultCnt 가 무조건 0으로 나옵니다.
int totCnt = Integer.parseInt((String)map.get("resultCnt")); <==이부분
mysql만 이런지 다른db는 확인 못했습니다.
지금 개발하는 부분이 커뮤니티 생성하고는 관련이 없어 주석으로 막아놓긴 했지만 차후 필요한 부분일지도 몰라서 문의드립니다.
개발환경은 3.8 입니다. java1.8, mysql 5.5.62 를 사용합니다.
질문드릴 내용은 게시판 마스터 페이징 문제입니다.
예를들어 게시판을 10개이상 생성했습니다.
당연히 페이지가 1 2 이렇게 두개는 나와야겠지요.
근데 다른 기능의 페이징 부분은 다 정상적으로 처리되는데 이상하게 게시판마스터 목록만 페이징이 1 밖에 안나옵니다.
커스터마이징 한부분도 없고 수정한 부분도 없는데 이상해서, 정상작동 하는 부분하고 여러군데 다 비교해봤습니다.
일단 EgovBBSMaster_SQL_mysql.xml 파일에서 이부분을 주석처리후 정상작동은 확인했습니다만
문제가 해결된거 같지 않은 느낌이 들어서 문의드립니다.
.................
<select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer">
SELECT
COUNT(a.BBS_ID)
FROM
COMTNBBSMASTER a
LEFT OUTER JOIN
(SELECT CODE_ID, CODE, CODE_NM FROM
COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b
ON a.BBS_TY_CODE = b.CODE
LEFT OUTER JOIN
(SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d
ON a.FRST_REGISTER_ID = d.ESNTL_ID
WHERE 1=1
<!-- <if test='cmmntyId == null or cmmntyId == ""'>AND -->
<!-- a.CMMNTY_ID IS NULL -->
<!-- </if> -->
<!-- <if test='cmmntyId != null and cmmntyId != ""'>AND -->
<!-- a.CMMNTY_ID = #{cmmntyId} -->
<!-- </if> -->
<if test="searchCnd == 0">AND
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
<if test="searchCnd == 1">AND
a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%')
</if>
</select>
주석부분이 커뮤니티 아이디 묻는 부분인데 이부분이 있으면 controller 부분에서 resultCnt 가 무조건 0으로 나옵니다.
int totCnt = Integer.parseInt((String)map.get("resultCnt")); <==이부분
mysql만 이런지 다른db는 확인 못했습니다.
지금 개발하는 부분이 커뮤니티 생성하고는 관련이 없어 주석으로 막아놓긴 했지만 차후 필요한 부분일지도 몰라서 문의드립니다.
A
안녕하세요.
표준프레임워크 센터입니다.
먼저 표준프레임워크에 관심을 가져주셔 감사드립니다.
언급하신바와 같이 mysql 상에서 null처리에 있어 매끄럽지 못한 부분이 있었습니다.
실제 프로젝트에서 사용시 질문자님께서 제시한바와 같이
<if test='cmmntyId == null or cmmntyId == ""'>AND
a.CMMNTY_ID IS NULL
</if>
부분을 제외시키고 작성하시면 되겠습니다.
향후 해당 부분을 추가 검토를 거쳐 수정된 버전을 제공하도록 하겠습니다.
감사합니다.
표준프레임워크 센터입니다.
먼저 표준프레임워크에 관심을 가져주셔 감사드립니다.
언급하신바와 같이 mysql 상에서 null처리에 있어 매끄럽지 못한 부분이 있었습니다.
실제 프로젝트에서 사용시 질문자님께서 제시한바와 같이
<if test='cmmntyId == null or cmmntyId == ""'>AND
a.CMMNTY_ID IS NULL
</if>
부분을 제외시키고 작성하시면 되겠습니다.
향후 해당 부분을 추가 검토를 거쳐 수정된 버전을 제공하도록 하겠습니다.
감사합니다.