๐Ÿ“˜ MyBatis ์ •๋ฆฌ (Spring ๊ธฐ๋ฐ˜)


โœ… MyBatis๋ž€?

Java์˜ SQL ๋งคํผ ํ”„๋ ˆ์ž„์›Œํฌ

SQL์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ Java ๊ฐ์ฒด์™€ ๋งคํ•‘ํ•ด์ฃผ๋Š” ๋„๊ตฌ.


๐Ÿ“Œ ํŠน์ง•

ํ•ญ๋ชฉ ์„ค๋ช…
SQL ์ง์ ‘ ์ž‘์„ฑ ๋‚ด๊ฐ€ ์ง์ ‘ SQL์„ ์ปจํŠธ๋กค ๊ฐ€๋Šฅํ•จ (๋ณต์žกํ•œ ์ฟผ๋ฆฌ์— ๊ฐ•ํ•จ)
๋งคํ•‘ ์ž๋™ํ™” DB ๊ฒฐ๊ณผ โ†’ Java ๊ฐ์ฒด๋กœ ์ž๋™ ๋งคํ•‘
์œ ์—ฐํ•จ ์ƒํ™ฉ ๋งž๊ฒŒ SQL ์กฐ๊ฑด, ์กฐ์ธ, ํŠœ๋‹ ๊ฐ€๋Šฅ
๊ตฌ์กฐ ๋ถ„๋ฆฌ SQL์€ XML์—, ์ž๋ฐ”๋Š” Mapper ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๊น”๋” ๋ถ„๋ฆฌ

โš™๏ธ Spring์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ๋ฆ„

๐Ÿ“ Mapper ์ธํ„ฐํŽ˜์ด์Šค
โ†•๏ธ
๐Ÿ“„ Mapper XML (SQL ์ •์˜)
โ†•๏ธ
๐Ÿง  MyBatis๊ฐ€ ์ž๋™ ์—ฐ๊ฒฐ & ์‹คํ–‰

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๋‹จ๊ณ„ (Spring + MyBatis)

1. ์˜์กด์„ฑ ์ถ”๊ฐ€ (Gradle)

implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1'
implementation 'mysql:mysql-connector-java:8.0.33'

2. DB & MyBatis ์„ค์ • (application.yml)

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yourdb
    username: root
    password: 1234

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.demo.domain

3. ๋„๋ฉ”์ธ ํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ

// com.example.demo.domain.User
public class User {
    private Long id;
    private String name;
}