Banner

My Tech Blog (Vo)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์–ธ์ œ๋‚˜ ๋ถˆ๊ฐ€๋Šฅํ•ด ๋ณด์ด๋˜ ์ผ๋„ ์ด๋ฃจ์–ด์ง€๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ทธ๋ ‡๋‹ค. "
- ๋„ฌ์Šจ ๋งŒ๋ธ๋ผ (๋‚จ์•„ํ”„๋ฆฌ์นด ๊ณตํ™”๊ตญ์˜ ์ •์น˜๊ฐ€, ์ธ๊ถŒ ์šด๋™๊ฐ€)
Swagger(Springdoc OpenAPI)์—์„œ ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ์ด ๋ณด์ด๋Š” ์ด์œ ๋Š”API ์‘๋‹ต์— DTO๋ฅผ ์จ์•ผ ํ•˜๋Š”๋ฐ Entity๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. โŒ ๋ฌธ์ œ@GetMapping("/users/{id}")public UserEntity getUser(@PathVariable Long id) { return userService.getUser(id);}UserEntity๋ฅผ ์ง์ ‘ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, Swagger์—์„œ ๋ชจ๋“  ํ•„๋“œ(password, phoneNumber ๋“ฑ)๊ฐ€ API ๋ฌธ์„œ์— ํฌํ•จ๋œ๋‹ค. โœ… ํ•ด๊ฒฐ๋ฒ•โ†’ Swagger์—์„œ ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ์ด ๋ณด์ด๋ฉด, Entity ๋Œ€์‹  DTO๋ฅผ ์‚ฌ์šฉํ•˜์ž@GetMapping("/users/{id}")public UserDto getUser(@PathVariable Lon..
1. DAO (Data Access Object)DAO๋Š” DB์™€ ์ง์ ‘ ํ†ต์‹ ์„ ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๊ฐ€์ ธ์˜ค๋Š” ๊ฐ์ฒด์ด๋‹ค.์‚ฌ์šฉ์ฒ˜ : `MyBatis` ํ˜น์€ `JPA`์™€ ๊ฐ™์€ ORM์—์„œ ์‹ค์ œ๋กœ DB ์ ‘๊ทผ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ฐ์ฒดํŠน์ง•: ๋ณดํ†ต ์ธํ„ฐํŽ˜์ด์Šค + Mapper (XML or ์–ด๋…ธํ…Œ์ด์…˜ ๋ฐฉ์‹)์œผ๋กœ ๊ตฌ์„ฑ๋จ ์˜ˆ์ œ (MyBatis)import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Param;@Mapperpublic interface UserDAO { // ..
1. Model (๋ชจ๋ธ) package ex03_๋ฎค์งํ”Œ๋ ˆ์ด์–ด; public class Music { // Model : ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด private String title; // ๋…ธ๋ž˜์ œ๋ชฉ private String singer; // ๊ฐ€์ˆ˜ private String path; // ๋…ธ๋ž˜ ์ €์žฅ ๊ฒฝ๋กœ public Music(String title, String singer, String path) { this.title = title; this.singer = singer; this.path = path; } // (2) getter ๋ฉ”์†Œ๋“œ public String getTitle() { return title; } public String getSinger() { return singer; }..
์ƒ๋‹จ์œผ๋กœ