[CS] MyBatis์™€ JPA

JOYยท2023๋…„ 8์›” 1์ผ
0

[CS]

๋ชฉ๋ก ๋ณด๊ธฐ
2/2

๐Ÿ˜Š๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์ž๐Ÿ˜Š

MyBatis์™€ JPA

Java๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ORM ํ”„๋ ˆ์ž„์›Œํฌ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ฐ„ ๋งคํ•‘์„ ๋‹จ์ˆœํ™” ํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ

MyBatis

SQL Mapper(XML) ๊ธฐ๋ฐ˜์˜ ORM ํ”„๋ ˆ์ž„์›Œํฌ

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ SQL ์ฟผ๋ฆฌ ์ž‘์„ฑ, SQL ์ฟผ๋ฆฌ ์ง์ ‘ ์ œ์–ด ๊ฐ€๋Šฅ
  • ์„ธ๋ฐ€ํ•œ SQL ํŠœ๋‹๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์œ ๋ฆฌ

JPA(Java Persistence API)

์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ API
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋งคํ•‘์„ ์ง€์›ํ•˜๊ณ , ORM์„ ๊ตฌํ˜„ํ•œ ๊ธฐ์ˆ 

  • Java์—์„œ ์ œ๊ณตํ•˜๋Š” ORM ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค
  • ๊ฐœ๋ฐœ์ž๊ฐ€ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  JPA์—์„œ ์ œ๊ณตํ•˜๋Š” API(EntityManager)๋ฅผ ์‚ฌ์šฉํ•ด DB์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ๊ฐ์ฒด๊ฐ„ ์ž๋™ ๋งคํ•‘์„ ์ง€์›ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต
  • ๊ฐ์ฒด์ง€ํ–ฅ ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ
  • ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌ

ORM(Object-Relational Mapping)

๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ„์˜ ๋งคํ•‘์„ ์ž๋™ํ™” ํ•˜๋Š” ๊ธฐ์ˆ 
๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ DB ์กฐ์ž‘ํ•˜์ง€ ์•Š๊ณ  ORM ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ์ž‘์—… ์ˆ˜ํ–‰

JPA์—์„œ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ž€?

  • ์—”ํ‹ฐํ‹ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์œผ๋กœ, ์—”ํ‹ฐํ‹ฐ์˜ ์ƒํƒœ ์ถ”์ ๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ผ๊ด€์„ฑ ์œ ์ง€
  • ์—”ํ‹ฐํ‹ฐ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜์—ฌ SQL์„ ์ƒ์„ฑ ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜
profile
Just Do IT ------- ๐Ÿƒโ€โ™€๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€