๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
FrameWork/Spring Boot

[Spring Boot] JPA ์™€ Mybatis ์žฅ/๋‹จ์ 

by yunamom 2022. 3. 7.
728x90
300x250

JPA ์™€ mybatis ๋น„๊ต

 

MySQL, Oracle, SQL Server ๋“ฑ DBMS ์ œํ’ˆ ๋งˆ๋‹ค SQL ๋ฌธ๋ฒ•์€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค.

๊ทธ๋ž˜์„œ DBMS ์ œํ’ˆ์„ ๊ต์ฒดํ•˜๋ ค๋ฉด, SQL ๋ฌธ์žฅ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.


โœจ JPA ์žฅ์  

 

SQL ๋ช…๋ น์„ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. 

๊ทธ๋ž˜์„œ DBMS ์ œํ’ˆ์„ ๊ต์ฒดํ•˜๋”๋ผ๋„ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ, ๊ตฌํ˜„ํ•  ์†Œ์Šค์ฝ”๋“œ์˜ ์–‘์ด ์ƒ๋Œ€์ ์œผ๋กœ ์ ๋‹ค.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœจ JPA ๋‹จ์  

 

์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค.

๋ณต์žกํ•œ ์กฐํšŒ ๋ช…๋ น์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋•Œ, ์ต์ˆ™ํ•œ SQL ๋ช…๋ น์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜๊ฐ€ ์—†๊ณ , 

JPA์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค.


โœจ MyBatis ์žฅ์  

 

์ต์ˆ™ํ•œ SQL ๋ช…๋ น์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

SQL ๋ฌธ์žฅ์„  ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, SQL ๋ฌธ์žฅ์— ์ต์ˆ™ํ•œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ myBatis๊ฐ€ ํŽธํ•˜๋‹ค.

 

DB ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋ณต์žกํ•œ ๊ฐ์ฒด ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•  ๋•Œ myBatis ๊ธฐ๋Šฅ์ด ์ข‹๋‹ค.

myBatis์˜ resultMap ๊ธฐ๋Šฅ์ด ๋ฐ”๋กœ ๊ทธ๊ฒƒ์ด๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๋ณต์žกํ•œ ๋ณด๊ณ ์„œ(report)๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•  ๋•Œ, ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค.

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•ด, ์–ด๋–ค ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด,

SQL ์ฟผ๋ฆฌ๋“ค์„ ๋ถ„์„ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ myBatis๋Š” SQL ๋ฌธ์žฅ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—,

SQL ์ฟผ๋ฆฌ ๋ถ„์„ํ•˜๊ธฐ ํŽธํ•˜๋‹ค.

 

โœจ MyBatis ๋‹จ์  

 

๊ตฌํ˜„ํ•ด์•ผํ•  ์†Œ์Šค์ฝ”๋“œ์˜ ์–‘์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ๋‹ค.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋งŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

DBMS ์ œํ’ˆ์„ ๊ต์ฒดํ•˜๋ฉด SQL ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

Oracle, MS SQL Server, MySQL ๋“ฑ DBMS ๋งˆ๋‹ค SQL ๋ฌธ๋ฒ•์ด ์•ฝ๊ฐ„์”ฉ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋ž˜์„œ DBMS๋ฅผ ๋ฐ”๊พธ๋ฉด SQL ๋ฌธ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค.

SQL ๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” Hibernate, JPA์—๋Š” ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค.

728x90
300x250

์ฝ”๋“œ