Curl Up Black Cat


๐Ÿ˜Ž ์„œ๋ก 

์•ˆ๋…•ํ•˜์„ธ์š”, ์ธ๋”์ œ์ด ์ž…๋‹ˆ๋‹ค.

 

์˜ค๋Š˜์€ MyBatis XML Mapper์—์„œ Java์˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค ์ฐธ์กฐ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์™€ ๊ทธ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ด ๋ฌธ์ œ๋กœ ์ธํ•ด ์ƒ๋‹นํ•œ ์‹œ๊ฐ„์„ ํ—ค๋งธ๊ธฐ์— ์ด ๊ฒฝํ—˜์„ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

 

๐Ÿฅฒ ๋ฌธ์ œ ์ƒํ™ฉ

๋จผ์ €, ์•„๋ž˜๋Š” Java ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ํฌํ•จํ•œ BoardDto ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

package com.board.backend.model;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class BoardDto {

    @Getter
    @Setter
    public static class Response {
        private long id;
        private String title;
        private String content;
        private String writer;
        private long view_count;
        private Long created_id;
        private LocalDateTime created_dt;
        private LocalDateTime modified_dt;
    }
}

์ด ๋ชจ๋ธ์„ MyBatis XML Mapper์— resultType์œผ๋กœ ์„ค์ •ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ, ๋‚ด๋ถ€ ํด๋ž˜์Šค Response๋ฅผ ์ฐธ์กฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

<select id="findById" resultType="com.board.backend.model.BoardDto.Response">
    SELECT *
    FROM board
    WHERE id = #{id}
</select>

ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ–ˆ์„ ๋•Œ, ์—ฐ๊ฒฐ์ด ์ œ๋Œ€๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•˜๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

Error creating bean with name 'boardMapper' defined in file  ...
Cannot resolve reference to bean 'sqlSessionTemplate' while setting bean property 'sqlSessionTemplate'

๐Ÿค” ์›์ธ 

sqlSessionTemplate ์—ฐ๊ฒฐ ์—๋Ÿฌ์˜ ์›์ธ์€ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค: ์„ค์ • ํŒŒ์ผ ๋ˆ„๋ฝ, ์„ค์ • ํŒŒ์ผ ์œ„์น˜ ๋ถˆ์ผ์น˜, ์˜์กด์„ฑ ๋ฌธ์ œ, ๋ฐ์ดํ„ฐ ์†Œ์Šค ์—ฐ๊ฒฐ ๋ฌธ์ œ, ๋นˆ ์ด๋ฆ„ ๋ถˆ์ผ์น˜, ์ƒ์„ฑ์ž/์„ธํ„ฐ ์ฃผ์ž… ๋ฌธ์ œ ๋“ฑ. ์ด ๋ชจ๋“  ๊ฐ€๋Šฅ์„ฑ์„ ํ™•์ธํ–ˆ์ง€๋งŒ, ๋ฌธ์ œ์˜ ์›์ธ์„ ์ฐพ์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋˜ ์ค‘, Java์—์„œ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•  ๋•Œ $ ๊ธฐํ˜ธ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ™‚ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

Mapper XML์—์„œ resultType์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด์„  $ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<select id="findById" resultType="com.board.backend.model.BoardDto$Response">
    SELECT *
    FROM board
    WHERE id = #{id}
</select>

ํ•ต์‹ฌ์€ BoardDto.Response ๋Œ€์‹  BoardDto$Response๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ฒฐ๋ก ์ ์œผ๋กœ, MyBatis์—์„œ Java์˜ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋Š” $ ๊ธฐํ˜ธ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ์ด ์ž‘์€ ๋ถ€๋ถ„ ๋•Œ๋ฌธ์— ๋งŽ์€ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์˜€๋Š”๋ฐ ์ด ๊ธ€์„ ํ†ตํ•ด ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฒช๋Š” ๋ถ„๋“ค์—๊ฒŒ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๐Ÿ˜Œ

+ Recent posts