๐ ์๋ก
์๋ ํ์ธ์, ์ธ๋์ ์ด ์ ๋๋ค.
์ค๋์ 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์ ๋ด๋ถ ํด๋์ค๋ฅผ ์ฐธ์กฐํ ๋๋ $ ๊ธฐํธ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ ๋ ์ด ์์ ๋ถ๋ถ ๋๋ฌธ์ ๋ง์ ์๊ฐ์ ๋ญ๋นํ์๋๋ฐ ์ด ๊ธ์ ํตํด ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ๋ถ๋ค์๊ฒ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๐
'๐ป ํ๋ก๊ทธ๋๋ฐ > ๐ Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring์์ ์๋ชป๋ ๋ฉ์์ง ์์ฒญ ํธ๋ค๋งํ๊ธฐ (0) | 2023.08.19 |
---|---|
Spring Boot ์์ ์๋ต ๋ฐ ์์ธ ์ฒ๋ฆฌ ๋ชจ๋ธ ๊ตฌ์ถํ๊ธฐ (0) | 2023.08.14 |
์คํ๋ง ๋ถํธ JSON ์๋ต Null ๊ฐ ์๋ ์ ๊ฑฐ (0) | 2023.08.14 |