Merge branch 'JIWOO'

This commit is contained in:
JIWOO 2025-01-09 15:33:08 +09:00
commit f80df4317d
4 changed files with 310 additions and 288 deletions

View File

@ -1,15 +1,15 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
public interface FaqBbsDao {
public void boardInsert(Map<String, Object> paramMap);
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
public Map<String,Object> boardView(Map<String, Object> paramMap);
public void boardUpdate(Map<String, Object> paramMap);
public int boardListCnt(Map<String, Object> paramMap);
public void boardDel(Map<String, Object> paramMap);
public void cntUpdate(Map<String, Object> paramMap);
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
}
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
public interface FaqBbsDao {
public void boardInsert(Map<String, Object> paramMap);
public List<Map<String,Object>> boardList(Map<String, Object> paramMap);
public Map<String,Object> boardView(Map<String, Object> paramMap);
public void boardUpdate(Map<String, Object> paramMap);
public int boardListCnt(Map<String, Object> paramMap);
public void boardDel(Map<String, Object> paramMap);
public void cntUpdate(Map<String, Object> paramMap);
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap);
}

View File

@ -1,59 +1,59 @@
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FaqBbsDaoImpl implements FaqBbsDao {
@Autowired
private SqlSession sqlSession;
@Override
public void boardInsert(Map<String, Object> paramMap) {
sqlSession.insert("faqbbs.insert", paramMap);
}
@Override
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
return boardList;
}
@Override
public Map<String, Object> boardView(Map<String, Object> paramMap) {
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
return boardView;
}
@Override
public void boardUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.update", paramMap);
}
@Override
public int boardListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
}
@Override
public void boardDel(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.delete", paramMap);
}
@Override
public void cntUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.cntUpdate", paramMap);
}
@Override
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
return boardList;
}
}
package seed.com.gtm.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FaqBbsDaoImpl implements FaqBbsDao {
@Autowired
private SqlSession sqlSession;
@Override
public void boardInsert(Map<String, Object> paramMap) {
sqlSession.insert("faqbbs.insert", paramMap);
}
@Override
public List<Map<String, Object>> boardList(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.select", paramMap);
return boardList;
}
@Override
public Map<String, Object> boardView(Map<String, Object> paramMap) {
Map<String, Object> boardView = sqlSession.selectOne("faqbbs.selectOne", paramMap);
return boardView;
}
@Override
public void boardUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.update", paramMap);
}
@Override
public int boardListCnt(Map<String, Object> paramMap) {
return sqlSession.selectOne("faqbbs.selectCnt",paramMap);
}
@Override
public void boardDel(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.delete", paramMap);
}
@Override
public void cntUpdate(Map<String, Object> paramMap) {
sqlSession.update("faqbbs.cntUpdate", paramMap);
}
@Override
public List<Map<String, Object>> boardListAllFaq(Map<String, Object> paramMap) {
List<Map<String, Object>> boardList = sqlSession.selectList("faqbbs.selectAllFaq", paramMap);
return boardList;
}
}

View File

@ -1,52 +1,73 @@
package seed.com.gtm.faqbbs;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.FaqBbsDaoImpl;
@Service
public class faqBpardService {
@Autowired
private FaqBbsDaoImpl dao;
public void boardInsert(Map<String, Object> paramMap){
dao.boardInsert(paramMap);
}
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardList(paramMap);
return boardList;
}
public Map<String,Object> boardView(Map<String, Object> paramMap){
Map<String,Object> boardView = dao.boardView(paramMap);
return boardView;
}
public void boardUpdate(Map<String, Object> paramMap){
dao.boardUpdate(paramMap);
}
public int boardListCnt(Map<String, Object> paramMap){
return dao.boardListCnt(paramMap);
}
public void boardDel(Map<String, Object> paramMap){
dao.boardDel(paramMap);
}
public void cntUpdate(Map<String, Object> paramMap){
dao.cntUpdate(paramMap);
}
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
return boardList;
}
}
package seed.com.gtm.faqbbs;
import java.sql.Clob;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import seed.com.gtm.dao.FaqBbsDaoImpl;
@Service
public class faqBpardService {
@Autowired
private FaqBbsDaoImpl dao;
public void boardInsert(Map<String, Object> paramMap){
dao.boardInsert(paramMap);
}
public List<Map<String,Object>> boardList(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardList(paramMap);
return boardList;
}
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;
}
public void boardUpdate(Map<String, Object> paramMap){
dao.boardUpdate(paramMap);
}
public int boardListCnt(Map<String, Object> paramMap){
return dao.boardListCnt(paramMap);
}
public void boardDel(Map<String, Object> paramMap){
dao.boardDel(paramMap);
}
public void cntUpdate(Map<String, Object> paramMap){
dao.cntUpdate(paramMap);
}
public List<Map<String,Object>> boardListAllFaq(Map<String, Object> paramMap){
List<Map<String,Object>> boardList = dao.boardListAllFaq(paramMap);
return boardList;
}
}

View File

@ -1,163 +1,164 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="faqbbs">
<insert id="insert" parameterType="java.util.HashMap">
INSERT INTO C_FAQBBS(
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE,
DEL_YN
) VALUES (
SEQ_CASE_FAQBBS.NEXTVAL,
#{setIdx},
#{fagSubj},
#{editorParam_faqCont},
#{editorParam_faqCont},
0,
#{memberId},
#{memberName},
SYSDATE,
#{memberId},
SYSDATE,
'N'
)
</insert>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
ORDER BY REG_DATE DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT ,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</select>
<update id="update">
UPDATE C_FAQBBS
SET FAQ_SUBJ = #{fagSubj},
FAQ_CONT = #{editorParam_faqCont},
MOD_MBER_ID = #{memberId},
MOD_DATE = SYSDATE
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</update>
<delete id="delete">
UPDATE C_FAQBBS
SET DEL_YN = 'Y'
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<delete id="cntUpdate">
UPDATE C_FAQBBS
SET VIEW_CNT = VIEW_CNT+1
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT
*
FROM
(
SELECT
ROW_.*,
ROWNUM AS RNUM
FROM
(
SELECT
count(1) over() as cnt,
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
MOD_MBER_ID,
MOD_DATE
FROM
C_FAQBBS
WHERE
(FAQ_SETIDX = '101'
OR FAQ_SETIDX = '102'
OR FAQ_SETIDX = '103' )
AND DEL_YN = 'N'
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
AND (
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
)
</if>
ORDER BY
REG_DATE DESC
) ROW_
)
WHERE
RNUM > #{PAGESTART}
AND #{PERPAGENUM} >= ROWNUM
</select>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="faqbbs">
<insert id="insert" parameterType="java.util.HashMap">
INSERT INTO C_FAQBBS(
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE,
DEL_YN
) VALUES (
SEQ_CASE_FAQBBS.NEXTVAL,
#{setIdx},
#{fagSubj},
#{editorParam_faqCont},
#{editorParam_faqCont},
0,
#{memberId},
#{memberName},
SYSDATE,
#{memberId},
SYSDATE,
'N'
)
</insert>
<select id="select" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT * FROM
(
SELECT ROW_.*, ROWNUM AS RNUM FROM
(
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
ORDER BY REG_DATE DESC
) ROW_
)
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
</select>
<select id="selectCnt" parameterType="java.util.HashMap" resultType="int">
SELECT COUNT(*)
FROM C_FAQBBS
WHERE FAQ_SETIDX = #{setIdx}
AND DEL_YN = 'N'
<if test="searchTilte != null and searchTilte != ''">
<choose>
<when test="searchType == 'title'">AND FAQ_SUBJ LIKE '%' || #{searchTilte} || '%'</when>
<when test="searchType == 'content'">AND FAQ_CONT LIKE '%' || #{searchTilte} || '%'</when>
</choose>
</if>
</select>
<select id="selectOne" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
<!-- dbms_lob.substr(FAQ_CONT, dbms_lob.getlength(FAQ_CONT), 1) AS FAQ_CONT , -->
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
MOD_MBER_ID,
MOD_DATE
FROM C_FAQBBS
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</select>
<update id="update">
UPDATE C_FAQBBS
SET FAQ_SUBJ = #{fagSubj},
FAQ_CONT = #{editorParam_faqCont},
MOD_MBER_ID = #{memberId},
MOD_DATE = SYSDATE
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</update>
<delete id="delete">
UPDATE C_FAQBBS
SET DEL_YN = 'Y'
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<delete id="cntUpdate">
UPDATE C_FAQBBS
SET VIEW_CNT = VIEW_CNT+1
WHERE FAQ_SEQ_NUMBER = #{faqSeq}
</delete>
<select id="selectAllFaq" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT
*
FROM
(
SELECT
ROW_.*,
ROWNUM AS RNUM
FROM
(
SELECT
count(1) over() as cnt,
FAQ_SEQ_NUMBER,
FAQ_SETIDX,
FAQ_SUBJ,
FAQ_CONT,
MNGR_RPL_CONT,
VIEW_CNT,
REG_MBER_ID,
REG_MBER_NM,
REG_DATE,
TO_CHAR(REG_DATE, 'YYYY-MM-DD') AS REG_DATE_FORMAT,
MOD_MBER_ID,
MOD_DATE
FROM
C_FAQBBS
WHERE
(FAQ_SETIDX = '101'
OR FAQ_SETIDX = '102'
OR FAQ_SETIDX = '103' )
AND DEL_YN = 'N'
<if test="totalSearchKeyword != null and totalSearchKeyword != ''">
AND (
FAQ_SUBJ like '%' || #{totalSearchKeyword} || '%'
OR FAQ_CONT like '%' || #{totalSearchKeyword} || '%'
)
</if>
ORDER BY
REG_DATE DESC
) ROW_
)
WHERE
RNUM > #{PAGESTART}
AND #{PERPAGENUM} >= ROWNUM
</select>
</mapper>