270 lines
7.9 KiB
XML
270 lines
7.9 KiB
XML
<?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="Board">
|
|
|
|
<select id="Board.selectBoardList" parameterType="boardSearchVO" resultType="boardVO">
|
|
<![CDATA[
|
|
SELECT
|
|
BD_SEQ AS SEQ, BD_MB_ID AS USERID, BD_GROUP_SEQ AS GROUPSEQ,
|
|
BD_CATEGORY AS CATEGORY, BD_NAME AS USERNAME, BD_CONTENT AS CONTENT,
|
|
BD_SUBJECT AS SUBJECT, BD_PARENT_SEQ AS PARENTSEQ, BD_PREV_SEQ AS PREVSEQ,
|
|
BD_NEXT_SEQ AS NEXTSEQ, BD_STEP AS STEP, BD_DEPTH AS DEPTH,
|
|
BD_REGDATE AS REGDATE, BD_HIT AS HIT, BD_RECOMMEND AS RECOMMEND,
|
|
BD_IP AS IP, BD_NOTICE AS NOTICE, BD_HTML AS HTML,
|
|
BD_NUM1 AS NUM1, BD_NUM2 AS NUM2, BD_DATA1 AS DATA1, BD_DATA2 AS DATA2,
|
|
FILECNT
|
|
FROM (
|
|
SELECT
|
|
ROWNUM RNUM, ALL_LIST.*, (SELECT #{id} FROM DUAL) ID,
|
|
(SELECT COUNT(*) FROM H3_BD_${id}_FILE WHERE BF_BD_SEQ = ALL_LIST.BD_SEQ) AS FILECNT
|
|
FROM (
|
|
SELECT
|
|
*
|
|
FROM H3_BD_${id}_LIST BBS
|
|
WHERE 1 = 1
|
|
]]>
|
|
<choose>
|
|
<when test='category == " " and id == "stat_bbs"'>
|
|
</when>
|
|
<otherwise>
|
|
AND BD_CATEGORY = #{category}
|
|
</otherwise>
|
|
</choose>
|
|
|
|
<if test="searchKeyword != null and searchKeyword != ''">
|
|
<choose>
|
|
<when test="searchCondition == 0">
|
|
AND BD_DATA1 LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
<when test="searchCondition == 1">
|
|
AND BD_NAME LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
<when test="searchCondition == 2">
|
|
AND BD_SUBJECT LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
</choose>
|
|
</if>
|
|
<![CDATA[ ORDER BY
|
|
BBS.BD_NOTICE DESC,
|
|
BBS.BD_GROUP_SEQ DESC,
|
|
BBS.BD_STEP ASC
|
|
|
|
) ALL_LIST
|
|
)
|
|
WHERE
|
|
RNUM > #{firstIndex} AND
|
|
RNUM <= #{firstIndex} + #{recordCountPerPage}
|
|
]]>
|
|
</select>
|
|
|
|
<select id="Board.selectBoardTotalCnt" parameterType="boardSearchVO" resultType="int">
|
|
<![CDATA[
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
H3_BD_${id}_LIST
|
|
]]>
|
|
</select>
|
|
|
|
<select id="Board.selectBoardListTotCnt" parameterType="boardSearchVO" resultType="int">
|
|
<![CDATA[
|
|
SELECT
|
|
COUNT(*)
|
|
FROM
|
|
H3_BD_${id}_LIST
|
|
WHERE 1=1
|
|
]]>
|
|
<choose>
|
|
<when test='category == " " and id == "stat_bbs"'>
|
|
</when>
|
|
<otherwise>
|
|
AND BD_CATEGORY = #{category}
|
|
</otherwise>
|
|
</choose>
|
|
<if test="searchKeyword != null and searchKeyword != ''">
|
|
<choose>
|
|
<when test="searchCondition == 0">
|
|
AND BD_DATA1 LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
<when test="searchCondition == 1">
|
|
AND BD_NAME LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
<when test="searchCondition == 2">
|
|
AND BD_SUBJECT LIKE '%' || #{searchKeyword} || '%'
|
|
</when>
|
|
</choose>
|
|
</if>
|
|
</select>
|
|
|
|
<select id="Board.selectBoard" parameterType="boardVO" resultType="boardVO">
|
|
<![CDATA[
|
|
SELECT
|
|
BBS.BD_SEQ AS SEQ, BBS.BD_MB_ID AS USERID, BBS.BD_GROUP_SEQ AS GROUPSEQ,
|
|
BBS.BD_CATEGORY AS CATEGORY, BBS.BD_NAME AS USERNAME, BBS.BD_CONTENT AS CONTENT,
|
|
BBS.BD_SUBJECT AS SUBJECT, BBS.BD_PARENT_SEQ AS PARENTSEQ, BBS.BD_PREV_SEQ AS PREVSEQ,
|
|
BBS.BD_NEXT_SEQ AS NEXTSEQ, BBS.BD_STEP AS STEP, BBS.BD_DEPTH AS DEPTH,
|
|
BBS.BD_REGDATE AS REGDATE, BBS.BD_HIT AS HIT, BBS.BD_RECOMMEND AS RECOMMEND,
|
|
BBS.BD_IP AS IP, BBS.BD_NOTICE AS NOTICE, BBS.BD_HTML AS HTML,
|
|
BBS.BD_NUM1 AS NUM1, BBS.BD_NUM2 AS NUM2, BBS.BD_DATA1 AS DATA1, BBS.BD_DATA2 AS DATA2,
|
|
#{id} ID
|
|
FROM
|
|
H3_BD_${id}_LIST BBS
|
|
WHERE
|
|
BBS.BD_SEQ = #{seq}
|
|
]]>
|
|
</select>
|
|
|
|
<insert id="Board.insertBoard" parameterType="boardVO">
|
|
INSERT INTO
|
|
H3_BD_${id}_LIST (
|
|
BD_MB_ID, BD_CATEGORY, BD_NAME, BD_GROUP_SEQ,
|
|
BD_CONTENT, BD_SUBJECT, BD_PARENT_SEQ, BD_PREV_SEQ, BD_NEXT_SEQ, BD_STEP,
|
|
BD_DEPTH, BD_REGDATE, BD_HIT, BD_RECOMMEND, BD_IP, BD_NOTICE,
|
|
BD_HTML, BD_NUM1, BD_NUM2, BD_DATA1, BD_DATA2, BD_PLACE1, BD_POSITION
|
|
) VALUES (
|
|
#{userId}, #{category}, #{userName}, #{groupSeq},
|
|
#{content}, #{subject}, #{parentSeq}, #{prevSeq}, #{nextSeq}, #{step},
|
|
#{depth}, NOW(), ${hit}, 0, #{ip,jdbcType=VARCHAR}, #{notice},
|
|
1, 0, 0, #{data1,jdbcType=VARCHAR}, #{data2,jdbcType=VARCHAR}, #{place1,jdbcType=VARCHAR}, #{position,jdbcType=VARCHAR}
|
|
)
|
|
<selectKey resultType="int" keyProperty="seq" order="AFTER">
|
|
SELECT H3_BD_${id}_LIST_SEQ.CURRVAL FROM DUAL
|
|
</selectKey>
|
|
<!--
|
|
BD_SEQ, BD_MB_ID, BD_GROUP_SEQ, BD_CATEGORY, BD_NAME,
|
|
BD_CONTENT, BD_SUBJECT, BD_PARENT_SEQ, BD_PREV_SEQ, BD_NEXT_SEQ, BD_STEP,
|
|
BD_DEPTH, BD_REGDATE, BD_HIT, BD_RECOMMEND, BD_IP, BD_NOTICE,
|
|
BD_HTML, BD_NUM1, BD_NUM2, BD_DATA1, BD_DATA2, BD_PLACE1, BD_POSITION
|
|
|
|
|
|
#{bd_seq}, #{bd_mb_id}, #{bd_group_seq}, #{bd_category}, #{bd_name},
|
|
#{bd_content}, #{bd_subject}, #{bd_parent_seq}, #{bd_prev_seq}, #{bd_next_seq}, #{bd_step},
|
|
#{bd_depth}, #{bd_regdate}, #{bd_hit}, #{bd_recommend}, #{bd_ip}, #{bd_notice},
|
|
#{bd_html}, #{bd_num1}, #{bd_num2}, #{bd_data1}, #{bd_data2}, #{bd_place1}, #{bd_position}
|
|
-->
|
|
</insert>
|
|
|
|
<update id="Board.updateGrpSeq" parameterType="boardVO">
|
|
<![CDATA[
|
|
UPDATE
|
|
H3_BD_${id}_LIST
|
|
SET
|
|
BD_GROUP_SEQ = #{seq}
|
|
WHERE
|
|
BD_SEQ = #{seq}
|
|
]]>
|
|
</update>
|
|
|
|
<select id="Board.selectPrevBoard" parameterType="boardVO" resultType="boardVO">
|
|
<![CDATA[
|
|
SELECT
|
|
ALL_LIST.BD_SEQ AS SEQ, ALL_LIST.BD_MB_ID AS USERID, ALL_LIST.BD_GROUP_SEQ AS GROUPSEQ,
|
|
ALL_LIST.BD_CATEGORY AS CATEGORY, ALL_LIST.BD_NAME AS USERNAME, ALL_LIST.BD_CONTENT AS CONTENT,
|
|
ALL_LIST.BD_SUBJECT AS SUBJECT, ALL_LIST.BD_PARENT_SEQ AS PARENTSEQ, ALL_LIST.BD_PREV_SEQ AS PREVSEQ,
|
|
ALL_LIST.BD_NEXT_SEQ AS NEXTSEQ, ALL_LIST.BD_STEP AS STEP, ALL_LIST.BD_DEPTH AS DEPTH,
|
|
ALL_LIST.BD_REGDATE AS REGDATE, ALL_LIST.BD_HIT AS HIT, ALL_LIST.BD_RECOMMEND AS RECOMMEND,
|
|
ALL_LIST.BD_IP AS IP, ALL_LIST.BD_NOTICE AS NOTICE, ALL_LIST.BD_HTML AS HTML,
|
|
ALL_LIST.BD_NUM1 AS NUM1, ALL_LIST.BD_NUM2 AS NUM2, ALL_LIST.BD_DATA1 AS DATA1, ALL_LIST.BD_DATA2 AS DATA2,
|
|
#{id} ID
|
|
FROM
|
|
(
|
|
SELECT ROWNUM RNUM, ALL_LIST.*
|
|
FROM (
|
|
SELECT
|
|
*
|
|
FROM H3_BD_${id}_LIST
|
|
WHERE 1 = 1
|
|
]]>
|
|
<choose>
|
|
<when test='category == " " and id == "stat_bbs"'>
|
|
</when>
|
|
<otherwise>
|
|
AND BD_CATEGORY = #{category}
|
|
</otherwise>
|
|
</choose>
|
|
<![CDATA[
|
|
ORDER BY
|
|
BD_GROUP_SEQ DESC,
|
|
BD_STEP ASC
|
|
) ALL_LIST
|
|
) ALL_LIST
|
|
JOIN
|
|
(
|
|
SELECT * FROM
|
|
(
|
|
SELECT ROWNUM RNUM, BBS.*
|
|
FROM (
|
|
SELECT
|
|
*
|
|
FROM H3_BD_${id}_LIST BBS
|
|
WHERE 1 = 1
|
|
]]>
|
|
<choose>
|
|
<when test='category == " " and id == "stat_bbs"'>
|
|
</when>
|
|
<otherwise>
|
|
AND BD_CATEGORY = #{category}
|
|
</otherwise>
|
|
</choose>
|
|
<![CDATA[
|
|
ORDER BY
|
|
BBS.BD_GROUP_SEQ DESC,
|
|
BBS.BD_STEP ASC
|
|
) BBS
|
|
) BBS
|
|
WHERE BD_SEQ = #{seq}
|
|
)BBS
|
|
ON
|
|
BBS.RNUM + 1 = ALL_LIST.RNUM
|
|
]]>
|
|
</select>
|
|
|
|
<update id="Board.updateGrpStep" parameterType="boardVO">
|
|
<![CDATA[
|
|
UPDATE
|
|
H3_BD_${id}_LIST
|
|
SET
|
|
BD_STEP = BD_STEP + 1
|
|
WHERE
|
|
BD_GROUP_SEQ = #{seq} AND
|
|
BD_STEP > #{step}
|
|
]]>
|
|
</update>
|
|
|
|
<update id="Board.updatePrevNextSeq" parameterType="boardVO">
|
|
<![CDATA[
|
|
UPDATE
|
|
H3_BD_${id}_LIST
|
|
SET
|
|
BD_PREV_SEQ = #{prevSeq},
|
|
BD_NEXT_SEQ = #{nextSeq}
|
|
WHERE
|
|
BD_SEQ = #{seq}
|
|
]]>
|
|
</update>
|
|
|
|
<update id="Board.updateBoard" parameterType="boardVO">
|
|
<![CDATA[
|
|
UPDATE
|
|
H3_BD_${id}_LIST
|
|
SET
|
|
BD_SUBJECT = #{subject},
|
|
BD_CONTENT = #{content},
|
|
BD_NOTICE = #{notice},
|
|
BD_HIT = #{hit}
|
|
WHERE
|
|
BD_SEQ = #{seq}
|
|
]]>
|
|
</update>
|
|
|
|
<delete id="Board.deleteBoard" parameterType="boardVO">
|
|
<![CDATA[
|
|
DELETE
|
|
FROM
|
|
H3_BD_${id}_LIST
|
|
WHERE
|
|
BD_SEQ = #{seq}
|
|
]]>
|
|
</delete>
|
|
</mapper>
|