이지우 - FAQ 조회 쿼리 수정(CLOB 형태로 조회 후 java에서 문자로 변환)

This commit is contained in:
JIWOO 2025-01-09 15:30:34 +09:00
parent d6b6c42ad6
commit f8c0e056d5
4 changed files with 310 additions and 288 deletions

View File

@ -1,5 +1,6 @@
package seed.com.gtm.faqbbs;
import java.sql.Clob;
import java.util.List;
import java.util.Map;
@ -25,6 +26,26 @@ public class faqBpardService {
public Map<String,Object> boardView(Map<String, Object> paramMap){
Map<String,Object> boardView = dao.boardView(paramMap);
//FAQ_CONT가 CLOB 타입이며, SELECT에서 문자열로 변경 varchar2(4000) 초과하여 오류 발생.
//CLOB 타입으로 조회 java에서 문자열로 변환 처리
try {
if(boardView.get("FAQ_CONT") != null) {
Clob faqContClob = (Clob) boardView.get("FAQ_CONT");
System.out.println(faqContClob);
StringBuilder sb = new StringBuilder();
long length = faqContClob.length();
java.io.Reader reader = faqContClob.getCharacterStream();
char[] buffer = new char[1024];
int bytesRead;
while ((bytesRead = reader.read(buffer)) != -1) {
sb.append(buffer, 0, bytesRead);
}
boardView.put("FAQ_CONT",sb.toString());
reader.close();
}
}catch(Exception e) {
e.printStackTrace();
}
return boardView;
}

View File

@ -82,7 +82,8 @@
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT ,
<!-- dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT , -->
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,