Coding Planet
[MyBatis] test์ ์ซ์, ๋ฌธ์์ด ๋น๊ต (ํฐ ๋ฐ์ดํ, ์์ ๋ฐ์ดํ ๊ตฌ๋ถ ๊ผญ!!!!!) ๋ณธ๋ฌธ
๐ฑSPRING
[MyBatis] test์ ์ซ์, ๋ฌธ์์ด ๋น๊ต (ํฐ ๋ฐ์ดํ, ์์ ๋ฐ์ดํ ๊ตฌ๋ถ ๊ผญ!!!!!)
jhj.sharon 2023. 11. 14. 13:25๋ฐ์ํ
๊ฒ์ํ์ ๊ฒ์๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์ ํํฐ๋ง์ด ์๋๋ ๋ฌธ์ ๊ฐ ์์๋ค. ์ด๊ฒ์ ๊ฒ ํด๋ณด๊ณ ์ฌ์ง์ด chatGPTํํ ๋ ๋ฌผ์ด๋ณด๊ณ ๋๋ฆฌ๋ฅผ ์ณค์ง๋ง ๊ทธ ์์ธ์ ์ ์ ์์๋ค.
ํ๋ผ๋ฏธํฐ๋ค๋ ์ ์์ ์ผ๋ก ๋ค์ด์ค๊ณ ์์๊ธฐ ๋๋ฌธ์ sql์์ ํํฐ๋ง์ด ์๋๋ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ์์ ์ฟผ๋ฆฌ๋ฌธ์ ์ ์ฌํ ๋ณด๋ ๋์ค test ์กฐ๊ฑด์ ๋ํ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ค.
1. ๊ธฐ์กด ์ฟผ๋ฆฌ: ํํฐ๋ง ์๋จ
- ๋ฌธ์ ์ ์์ธ์ <when test="searchCondition == '0'"> ์กฐ๊ฑด์ ๋ฌธ์ ๊ฐ ์์๋ค. test ์ดํ ์กฐ๊ฑด์ ์์ ๋ฐ์ดํ(' ')๋ก ๊ฐ์ธ๊ณ ๋น๊ต๋์ ๋ฌธ์์ด์ ํฐ ๋ฐ์ดํ(" ")๋ก ๊ฐ์ธ์คฌ์ด์ผํ๋๋ฐ ๋ฐ๋๋ก ํ ๊ฒ์ด๋ค.
<select id="selectBoardList" parameterType="NoticeBoardVO" resultMap="NoticeBoardList">
select
row_number() over (order by notice_board_no) as rownum,
notice_board_no,
notice_board_type,
notice_board_sub_type,
notice_title,
notice_first_regist_dtm,
notice_ans_yn,
notice_wrtr,
notice_view_count,
notice_cat
from
tb_notice_board
where notice_del_yn = 'N'
and notice_board_sub_type = #{noticeBoardSubType}
<choose>
<when test="searchCondition == '0'">
and notice_title like '%'||#{searchKeyword}||'%'
</when>
<when test="searchCondition == '1'">
and notice_contents like '%'||#{searchKeyword}||'%'
</when>
<when test="searchCondition == '2'">
and notice_wrtr like '%'||#{searchKeyword}||'%'
</when>
<otherwise>
<!-- ์๋ฌด ์กฐ๊ฑด๋ ์์ด ์ ์ฒด ๋ชฉ๋ก์ ์ถ๋ ฅ -->
</otherwise>
</choose>
order by
notice_board_no DESC
limit CAST(#{recordCountPerPage} AS INTEGER) offset CAST(#{firstIndex} AS INTEGER)
</select>
2. ์์ ๋ ์ฟผ๋ฆฌ : ์คํ ์ ๋จ!
<!--๋ชฉ๋ก ์ถ๋ ฅ -->
<select id="selectBoardList" parameterType="NoticeBoardVO" resultMap="NoticeBoardList">
select
row_number() over (order by notice_board_no) as rownum,
notice_board_no,
notice_board_type,
notice_board_sub_type,
notice_title,
notice_first_regist_dtm,
notice_ans_yn,
notice_wrtr,
notice_view_count,
notice_cat
from
tb_notice_board
where notice_del_yn = 'N'
and notice_board_sub_type = #{noticeBoardSubType}
<choose>
<when test='searchCondition =="0"'>
and notice_title like '%'||#{searchKeyword}||'%'
</when>
<when test='searchCondition == "1"'>
and notice_contents like '%'||#{searchKeyword}||'%'
</when>
<when test='searchCondition == "2"'>
and notice_wrtr like '%'||#{searchKeyword}||'%'
</when>
<otherwise>
<!-- ์๋ฌด ์กฐ๊ฑด๋ ์์ด ์ ์ฒด ๋ชฉ๋ก์ ์ถ๋ ฅ -->
</otherwise>
</choose>
๋ฐ์ํ
'๐ฑSPRING' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
@RequestBody ์ด๋ ธํ ์ด์ ์ค๋ช ๋ฐ ์์ (1) | 2024.01.03 |
---|---|
@Controller์ @RestController์ ์ฐจ์ด๋? (1) | 2024.01.02 |
PRG(Post/Redirect/Get) ํจํด๊ณผ ์์ (0) | 2023.11.08 |
SPRING MVC - ๋ทฐ ๋ฆฌ์กธ๋ฒ (View Resolver) (0) | 2023.10.24 |
[Spring boot]๋ก๊ทธ ๋ ๋ฒจ(Log level)์ด๋? ๋ก๊ทธ๋ ๋ฒจ ์ค์ ํ๊ธฐ - log4j2 (0) | 2023.10.19 |
Comments