이지우 - FAQ 조회 쿼리 수정(CLOB 형태로 조회 후 java에서 문자로 변환)
This commit is contained in:
parent
d6b6c42ad6
commit
f8c0e056d5
@ -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;
|
||||
}
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user