MapleStory Cookie With Halo

๐Ÿƒ Spring/๐Ÿƒ Spring Boot

[SpringBoot][Maven][Rest API]MyBatis, JPA์‚ฌ์šฉํ•˜๊ธฐ

๋‰ด์ด NUEY 2025. 1. 27. 21:14
๋ฐ˜์‘ํ˜•

 

โ€ป ์ด์ „ ํŽธ

2025.01.26 - [๐Ÿƒ Spring/๐Ÿƒ Spring Boot] - [SpringBoot][RestAPI]Get/PostMapping(+json)

 


 

DB ์—ฐ๊ฒฐ

 

  1. pom.xml์— DB ์˜์กด์„ฑ์ถ”๊ฐ€
  2. application.properties์˜ ํ˜•์‹์„ application.yml๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๊ฐ€๋…์„ฑ๊ณผ ํ˜ธํ™˜์„ฑ์ด ์ข‹์•„์ง„๋‹ค.
    properties ํ˜•์‹
    ymlํ˜•์‹
  3. DB์—ฐ๊ฒฐ ์ฝ”๋“œ๋ฅผ ์ ์–ด์ค€๋‹ค.
    (๊ฐ•์˜ ์ฝ”๋“œ์—์„œ ์ข€ ๋” ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ์‹คํ–‰๋๋‹ค)
  4. ๋ธŒ๋ผ์šฐ์ €๋กœ http://127.0.0.1:8080/h2-console ์— ์ ‘์†ํ•˜๋ฉด ์ด๋Ÿฐ ์ฐฝ์ด ๋œฌ๋‹ค.
  5. JDBC URL ๋งŒ application.yml ์—์„œ ์ง€์ •ํ•œ ๋Œ€๋กœ ์ ์–ด์ค€๋‹ค.
  6. ์ ‘์†ํ•˜๋ฉด ์ด๋Ÿฌํ•œ h2์—์„œ ์ œ๊ณตํ•˜๋Š” ํ™”๋ฉด์ด ๋ณด์ธ๋‹ค.
  7. ์ฟผ๋ฆฌ๋กœ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ  ๊ฐ’์„ ๋„ฃ์–ด์คฌ๋‹ค.

 


 

MyBatis ์‚ฌ์šฉํ•˜๊ธฐ

 

  1. ๋ฉ”์ด๋ธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ Mybatis Spring Boot Starter๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋“ค์–ด๊ฐ€ ์˜์กด์„ฑ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด์˜จ๋‹ค.
  2. pom.xml ์— ์ถ”๊ฐ€ํ•œ๋‹ค.
  3. java๋‹จ์— mapperํŒจํ‚ค์ง€ ์•ˆ์— mapper ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ฉ”์„œ๋“œ ์„ ์–ธ๋ถ€๋งŒ ์ ์–ด์ค€๋‹ค.
    (โ€ป Dao๋‚˜ Repository์™€ ๊ฑฐ์˜ ์ผ์น˜ํ•˜๋‹ค..)
  4. resourcesํด๋” ์•„๋ž˜ mappersํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  Mapper์ด๋ฆ„์„ ๊ฐ€์ง„ xmlํ˜•์‹์˜ ํŒŒ์ผ์„ ๋งŒ๋“ ๋‹ค.

    • ๊ธฐ๋ณธํ˜•ํƒœ
      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      
      <mapper namespace="">
      
      </mapper>


    • namespace์— ์ž๋ฐ”๋‹จ mapper์ธํ„ฐํŽ˜์ด์Šค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ.ํŒŒ์ผ๋ช…์„ ๋ณต์‚ฌํ•ด ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.


  5. application.yml ์— mapper์œ„์น˜๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
  6. <select> <insert> <update> <delete> ๋“ฑ์„ parameterType๊ณผ resulteType๋“ฑ์„ ์ด์šฉํ•ด์„œ ์ ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    โ€ป ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค๋Š” int๋Š” Integer๋ผ๋Š” ์‹์œผ๋กœ ์ ์–ด์ค˜์•ผํ•˜๋Š” ๋“ฑ ๋ฒ•์น™์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

JPA์—ฐ๊ฒฐ

 

  1. ๊ตฌ๊ธ€์— maven spring boot jpa๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋“ค์–ด๊ฐ„๋‹ค.
  2. ์ตœ์‹ ๋ฒ„์ „ ์˜์กด์„ฑ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค.
  3. pom.xml ์— ์ถ”๊ฐ€ํ•œ๋‹ค. 
    โ€ป ๋ฒ„์ „ ์ƒ๋žต๊ฐ€๋Šฅ
  4. @Entity ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค.
  5. @Repository ์— JpaRepository๋ฅผ ํ™•์žฅํ•œ๋‹ค.
    <์—”ํ‹ฐํ‹ฐํด๋ž˜์Šค, id์ปฌ๋Ÿผ ํƒ€์ž…>
โ€ป maven๊ณผ gradle ์˜์กด์„ฑ ์„ค์ •์ฐจ์ด ์™ธ์—๋Š” ๊ฐ™๊ธฐ์— ๋‚˜๋จธ์ง€ ์„ค๋ช…์€ ์ƒ๋žตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

2025.01.06 - [๐Ÿƒ Spring/๐Ÿƒ Spring Boot] - [SpringBoot]์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก:1.์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ •

2025.01.06 - [๐Ÿƒ Spring/๐Ÿƒ Spring Boot] - [SpringBoot]์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก:2.์ž๋ฐ”์ฝ”๋“œ

์ฝ”๋“œ๋Š” ์ œ github๋‚˜ ๊ฐ•์˜์—์„œ ์ œ๊ณตํ•˜๋Š” github์—์„œ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 


์ฐธ์กฐ๊ฐ•์˜

๋ฐ˜์‘ํ˜•