2022_02_19 - oneso123456789/2022 GitHub Wiki

other

read(select) ์ฒ˜๋ฆฌ

insert๊ฐ€ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ์ž‘์—…์€ PK๋ฅผ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ BoardMapper์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ์—ญ์‹œ
BoardVO์˜ bnoํƒ€์ž… ์ •๋ณด๋ฅผ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•จ

com.crow.mapper.BoardMapper.interface ์ถ”๊ฐ€๋‚ด์šฉ

public BoardVO read(Long bno);

BoardMapper.xml์— ์ถ”๊ฐ€๋˜๋Š” <select>

<select id="read" resultType="com.crow.domain.BoardVO">
    select * from tbl_board where bno = #{bno}
</select>

MyBatis๋Š” Mapper ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฆฌํ„ด ํƒ€์ž…์— ๋งž๊ฒŒ select์˜ ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— tbl_board์˜ ๋ชจ๋“  ์นผ๋Ÿผ์€ BoardVO์˜
bno, title, content, writer, regdate, updateDate์†์„ฑ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌ๋จ
์ข€ ๋” ์—„๋ฐ€ํ•˜๊ฒŒ ๋งํ•˜๋ฉด MyBatis๋Š” bno๋ผ๋Š” ์นผ๋Ÿผ์ด ์กด์žฌํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ setBno()๋ฅผ ํ˜ธ์ถœํ•จ
MyBatis์˜ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฆฌํ„ด ํƒ€์ž…์˜ ์ฒ˜๋ฆฌ๋Š” get ํŒŒ๋ผ๋ฏธํ„ฐ๋ช…(), set ์นผ๋Ÿผ๋ช…()์˜ ๊ทœ์น™์œผ๋กœ ํ˜ธ์ถœ๋จ

๋‹ค๋งŒ ์œ„์™€ ๊ฐ™์ด #{์†์„ฑ}์ด 1๊ฐœ๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ณ„๋„์˜ get ํŒŒ๋ผ๋ฏธํ„ฐ๋ช…()์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ฒ˜๋ฆฌ๋จ

ํ˜„์žฌ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ bno ์นผ๋Ÿผ์˜ ๊ฐ’์„ ์ด์šฉํ•ด์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ํ™•์ธํ•จ

BoardMapperTests ํด๋ž˜์Šค ์ผ๋ถ€

    @Test
    public void testRead() {
        // ์กด์žฌํ•˜๋Š” ๊ฒŒ์‹œ๋ฌผ ๋ฒˆํ˜ธ๋กœ ํ…Œ์ŠคํŠธ
        BoardVO board = mapper.read(4L);

        log.info(board);
    }

mapper.read()๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ์—๋Š” ํ˜„์žฌ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ bno ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•ด์•ผ ํ•จ

8.2.3 delete ์ฒ˜๋ฆฌ

ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ์ž‘์—… ์—ญ์‹œ PK ๊ฐ’์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ์กฐํšŒํ•˜๋Š” ์ž‘์—…๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•จ
๋“ฑ๋ก, ์‚ญ์ œ, ์ˆ˜์ •๊ณผ ๊ฐ™์€ DML์ž‘์—…์€ ๋ช‡๊ฑด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ(ํ˜น์€ ์ˆ˜์ •)๋˜์—ˆ๋Š”์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ

BoardMapper ์ธํ„ฐํŽ˜์ด์Šค ์ผ๋ถ€

public int delete(Long bno);

BoardMapper.xml์˜ ์ผ๋ถ€

<delete id="delete" >
    delete tbl_board where bno = #{bno}
</delete>

Mapper.xml์— SQL๋ฌธ ์ž‘์„ฑ์‹œ ;์„ธ๋ฏธ์ฝœ๋ก  ์ฐ์ง€๋ง๊ธฐ

delete()์˜ ๋ฉ”์„œ๋“œ ๋ฆฌํ„ด ํƒ€์ž…์€ int๋กœ ์ง€์ •ํ•ด์„œ ๋งŒ์ผ ์ •์ƒ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด 1 ์ด์ƒ์˜ ๊ฐ’์„
๊ฐ€์ง€๋„๋ก ์ž‘์„ฑํ•จ
ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํ˜„์žฌ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ฒˆํ˜ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด ๋ณด๊ณ  '1'์ด๋ผ๋Š” ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•จ
๋งŒ์•ฝ ํ•ด๋‹น ๋ฒˆํ˜ธ์˜ ๊ฒŒ์‹œ๋ฌผ์ด ์—†๋‹ค๋ฉด '0'์ด ์ถœ๋ ฅ๋จ

BoardMapperTests ํด๋ž˜์Šค์˜ ์ผ๋ถ€

    @Test
    public void testDelete() {

        log.info("DELETE COUNT: " + mapper.delete(3L));
    }

testDelete()์˜ ๊ฒฝ์šฐ 3๋ฒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ–ˆ๋‹ค๋ฉด INFO: ~ DELETE COUNT: 1์ด ์ถœ๋ ฅ๋จ

8.2.4 update ์ฒ˜๋ฆฌ

โš ๏ธ **GitHub.com Fallback** โš ๏ธ