BoardMapper.xml 9.42 KB
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper  PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="board.BoardMapper">
 
    <select id="getBoardCnt" parameterType="com.daeucna.board.domain.BoardForm" resultType="int">
    
        SELECT COUNT(*)
        FROM BOARD.TB_BOARD
        WHERE
        	BOARD_KIND = #{board_kind}
    </select>
    
    <select id="getBoardList" parameterType="com.daeucna.board.domain.BoardForm" resultType="com.daeucna.board.domain.BoardDto">
    
        SELECT *
        FROM ( SELECT BOARD_SEQ 
        			, BOARD_KIND
                    , BOARD_RE_REF 
                    , BOARD_RE_LEV 
                    , BOARD_RE_SEQ 
                    , BOARD_WRITER 
                    , BOARD_SUBJECT 
                    , BOARD_CONTENT 
                    , BOARD_HITS
                    , IFNULL(PROC_STATUS,'') AS PROC_STATUS
                    , IFNULL(PROC_DESC,'') AS PROC_DESC
                    , IFNULL(PROC_DATE,'') AS PROC_DATE
                    , IFNULL(PROC_USER,'') AS PROC_USER
                    , DEL_YN 
                    , INS_USER_ID
                    , CAST( DATE_FORMAT( INS_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS INS_DATE
                    , UPD_USER_ID
                    , CAST( DATE_FORMAT( UPD_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS UPD_DATE  
               FROM BOARD.TB_BOARD
               WHERE
               		BOARD_KIND = #{board_kind}
              ) T1
        ORDER BY BOARD_RE_REF DESC, BOARD_RE_SEQ ASC
        LIMIT #{limit} OFFSET #{offset}
    
    </select>
    
    <delete id="updateBoardHits" parameterType="com.daeucna.board.domain.BoardForm">
    
        UPDATE BOARD.TB_BOARD 
           SET BOARD_HITS = BOARD_HITS + 1             
             , UPD_USER_ID = 'NONMEMBER'
             , UPD_DATE = NOW()
         WHERE BOARD_SEQ = #{board_seq}
    
    </delete>
    
    <select id="getBoardDetail" parameterType="com.daeucna.board.domain.BoardForm" resultType="com.daeucna.board.domain.BoardDto">
    
        SELECT BOARD_SEQ 
             , BOARD_RE_REF 
             , BOARD_RE_LEV 
             , BOARD_RE_SEQ 
             , BOARD_WRITER 
             , BOARD_SUBJECT 
             , BOARD_CONTENT 
             , BOARD_HITS
             , IFNULL(PROC_STATUS,'') AS PROC_STATUS
             , IFNULL(PROC_DESC,'') AS PROC_DESC
             , IFNULL(PROC_DATE,'') AS PROC_DATE
             , IFNULL(PROC_USER,'') AS PROC_USER
             , DEL_YN 
             , INS_USER_ID
             , CAST( DATE_FORMAT( INS_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS INS_DATE
             , UPD_USER_ID
             , CAST( DATE_FORMAT( UPD_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS UPD_DATE  
        FROM BOARD.TB_BOARD
        WHERE BOARD_SEQ = #{board_seq}
    
    </select>
        
    <select id="getBoardFileList" parameterType="com.daeucna.board.domain.BoardFileForm" resultType="com.daeucna.board.domain.BoardFileDto">
    
        SELECT T1.*
        FROM (
                SELECT BOARD_SEQ
                     , FILE_NO
                     , FILE_NAME_KEY
                     , FILE_NAME
                     , FILE_PATH
                     , FILE_SIZE
                     , REMARK
                     , INS_USER_ID
                     , CAST( DATE_FORMAT( INS_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS INS_DATE
                     , UPD_USER_ID
                     , CAST( DATE_FORMAT( UPD_DATE, '%Y-%m-%d %H:%i:%s' ) AS CHAR(19) ) AS UPD_DATE
                FROM BOARD.TB_BOARD_FILE
                WHERE BOARD_SEQ = #{board_seq}
                AND DEL_YN = 'N'
              ) T1        
            
    </select>
    
    <select id="getBoardReRef" parameterType="com.daeucna.board.domain.BoardForm" resultType="int">
    
        SELECT IFNULL(MAX(BOARD_RE_REF), 0) + 1
        FROM BOARD.TB_BOARD
    
    </select>
    
    <insert id="insertBoard" parameterType="com.daeucna.board.domain.BoardForm">
        
        <selectKey resultType="int" keyProperty="board_seq" order="AFTER">
 
            SELECT LAST_INSERT_ID()
 
        </selectKey>
        
        INSERT 
        INTO BOARD.TB_BOARD 
        (
        		BOARD_KIND
              , BOARD_RE_REF
              , BOARD_RE_LEV
              , BOARD_RE_SEQ
              , BOARD_WRITER
              , BOARD_SUBJECT
              , BOARD_CONTENT
              , INS_USER_ID
              , INS_DATE
              , UPD_USER_ID
              , UPD_DATE
              , PROC_STATUS
        ) 
        VALUES 
        (
        	   #{board_kind}
             , #{board_re_ref}
             , 0
             , 0
             , #{board_writer}
             , #{board_subject}
             , #{board_content}
             , #{ins_user_id}
             , NOW() 
             , #{upd_user_id}
             , NOW() 
             , '미처리'
        )
            
    </insert>
    
    <insert id="insertBoardFile" parameterType="com.daeucna.board.domain.BoardFileForm">
    
        <selectKey resultType="int" keyProperty="file_no" order="BEFORE">
            
            SELECT IFNULL(MAX(FILE_NO), 0) + 1 
            FROM BOARD.TB_BOARD_FILE
            WHERE BOARD_SEQ = #{board_seq}
              
        </selectKey>
                
        INSERT 
        INTO TB_BOARD_FILE
        (
              BOARD_SEQ
            , FILE_NO
            , FILE_NAME_KEY
            , FILE_NAME
            , FILE_PATH
            , FILE_SIZE
            , DEL_YN 
            , INS_USER_ID
            , INS_DATE            
            , UPD_USER_ID
            , UPD_DATE
        )
        VALUES
        (
              #{board_seq}
            , #{file_no}
            , #{file_name_key}
            , #{file_name}
            , #{file_path}
            , #{file_size}
            , 'N'
            , #{ins_user_id}
            , NOW() 
            , #{upd_user_id}
            , NOW() 
        )    
        
    </insert>
    
    <insert id="insertBoardFail" parameterType="com.daeucna.board.domain.BoardForm">
    
        INSERT 
        INTO BOARD.TB_BOARD 
        (
                BOARD_RE_REF
              , BOARD_RE_LEV
              , BOARD_RE_SEQ
              , BOARD_WRITER
              , BOARD_SUBJECT
              , BOARD_CONTENT
              , INS_USER_ID
              , INS_DATE
              , UPD_USER_ID
              , UPD_DATE
        ) 
        VALUES 
        (
               0
             , 0
             , 0
             , #{board_writer1}
             , #{board_subject}
             , #{board_content}
             , #{ins_user_id}
             , NOW() 
             , #{upd_user_id}
             , NOW() 
        )
    
    </insert>
        
    <delete id="deleteBoard" parameterType="com.daeucna.board.domain.BoardForm">
    
        DELETE 
        FROM BOARD.TB_BOARD 
        WHERE BOARD_SEQ = #{board_seq}
    
    </delete>
    
    <delete id="updateBoard" parameterType="com.daeucna.board.domain.BoardForm">
    
        UPDATE BOARD.TB_BOARD 
           SET BOARD_SUBJECT = #{board_subject}
             , BOARD_CONTENT = #{board_content}
             , PROC_STATUS = #{proc_status}
             , PROC_DESC = #{proc_desc}
             , UPD_USER_ID = #{upd_user_id}
             , UPD_DATE = NOW()
         WHERE BOARD_SEQ = #{board_seq}
    
    </delete>
    
    <select id="getBoardReplyInfo" parameterType="com.daeucna.board.domain.BoardForm" resultType="com.daeucna.board.domain.BoardDto">
    
        SELECT BOARD_SEQ
             , BOARD_RE_REF
             , BOARD_RE_LEV
             , BOARD_RE_SEQ
        FROM TB_BOARD
        WHERE BOARD_SEQ = #{board_parent_seq}
    
    </select>
    
    <delete id="updateBoardReSeq" parameterType="com.daeucna.board.domain.BoardForm">
    
        UPDATE TB_BOARD
           SET BOARD_RE_SEQ = BOARD_RE_SEQ + 1
             , UPD_USER_ID = #{upd_user_id}
             , UPD_DATE = NOW()
         WHERE BOARD_RE_REF = #{board_re_ref} 
           AND BOARD_RE_SEQ > #{board_re_seq}
    
    </delete>
    
    <insert id="insertBoardReply" parameterType="com.daeucna.board.domain.BoardForm">
    
        INSERT 
        INTO BOARD.TB_BOARD 
        (
        		BOARD_KIND
              , BOARD_RE_REF
              , BOARD_RE_LEV
              , BOARD_RE_SEQ
              , BOARD_WRITER
              , BOARD_SUBJECT
              , BOARD_CONTENT
              , INS_USER_ID
              , INS_DATE
              , UPD_USER_ID
              , UPD_DATE
              , PROC_STATUS
        ) 
        VALUES 
        (
        	   #{board_kind}
             , #{board_re_ref}
             , #{board_re_lev} + 1
             , #{board_re_seq} + 1
             , #{board_writer}
             , #{board_subject}
             , #{board_content}
             , #{ins_user_id}
             , NOW() 
             , #{upd_user_id}
             , NOW() 
             , null
        )
    
    </insert>
    
       <delete id="deleteBoardFile" parameterType="com.daeucna.board.domain.BoardFileForm">
    
        UPDATE BOARD.TB_BOARD_FILE 
           SET DEL_YN = 'Y'
             , UPD_USER_ID = #{upd_user_id}
             , UPD_DATE = NOW()
         WHERE BOARD_SEQ = #{board_seq}
           AND FILE_NO = #{file_no}
    
    </delete>
    
</mapper>