๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

FrameWork7

[MyBatis] ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง• (Pagination) Mysql&Oracle ์•ˆ๋…•ํ•˜์„ธ์š” yunamom ์ž…๋‹ˆ๋‹ค :D ์ด๋ฒˆํฌ์ŠคํŒ…์—์„œ๋Š” MyBatis ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง• ํ•˜๋Š” ๊ณผ์ •์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿ˜Š dto/Board.java [ OPEN ] package com.board.dto; import java.text.SimpleDateFormat; import java.util.Date; public class Board { int unq; String title; String name; String content; int hits; String rdate; public int getUnq() { return unq; } public void setUnq(int unq) { this.unq = unq; } public String getTitle() { return title; } public.. 2022. 6. 2.
[JPA] JPA๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? โœจ JPA(Java Persistence API) ์ž๋ฐ” ์ง„์˜์—์„œ ORM(Object-relational Mapping) ๊ธฐ์ˆ  ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ์Œ - ์ž๋ฐ” ORM ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํ‘œ์ค€ ๋ช…์„ธ๋กœ, JAVA ์—์„œ ์ œ๊ณตํ•˜๋Š” API์ด๋‹ค. - ์ž๋ฐ” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.(ORM์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์ธํ„ฐํŽ˜์ด์Šค) - ์—”ํ„ฐํ‹ฐ ๋นˆ์„ ๋Œ€์ฒดํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. - ORM์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž๋ฐ” ํด๋ž˜์Šค์™€ DBํ…Œ์ด๋ธ”์„ ๋งคํ•‘ํ•œ๋‹ค. (SQL ์„ ๋งคํ•‘ํ•˜์ง€ ์•Š์Œ) โœจ ORM์ด๋ž€? (SQL Mapper ์™€ ORM) - ORM์€ DBํ…Œ์ด๋ธ”์„ ์ž๋ฐ” ๊ฐ์ฒด๋กœ ๋งคํ•‘ํ•จ์œผ๋กœ์จ ๊ฐ์ฒด๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ SQL์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ (Mapper๋Š” SQL์„ ๋ช…์‹œํ•ด์ฃผ์–ด์•ผํ•จ) - ORM์€ RDB์˜ ๊ด€๊ณ„๋ฅผ Ob.. 2022. 5. 31.
[Spring] IoC, DL, DI ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? IOC (Inversion of Control), DL(Dependency Lookup), DI (Dependency Injection) โœจ IoC (Inversion of Control) ๋ž€? "์ œ์–ด์˜ ์—ญ์ „" ์ด๋ผ๋Š” ์˜๋ฏธ๋กœ, ๊ฐ์ฒด๋‚˜ ๋ฉ”์„œ๋“œ์˜ ํ˜ธ์ถœ์„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๊ฐ์ฒด์˜ ์ƒ์„ฑ์—์„œ๋ถ€ํ„ฐ ์ƒ๋ช…์ฃผ๊ธฐ์˜ ๊ด€๋ฆฌ๊นŒ์ง€ ๋ชจ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ์ด ๋ฐ”๋€Œ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. โœจ IoC์˜ ์žฅ์  ๊ฐ์ฒด์˜ ์˜์กด์„ฑ์„ ์—ญ์ „์‹œ์ผœ ๊ฐ์ฒด ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ์ค„์ด๊ณ  ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์—ฌ ๊ฐ€๋…์„ฑ ๋ฐ ์ฝ”๋“œ ์ค‘๋ณต, ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. โœจ IoC์˜ ๋ถ„๋ฅ˜ ( DL / DI ) 1. DL (Dependency Lookup) "์˜์กด์„ฑ ๊ฒ€์ƒ‰" ์ด๋ผ๋Š” ์˜๋ฏธ๋กœ, ์ด๋Š” Bean์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ๊ณตํ•˜๋Š” .. 2022. 4. 15.
[ M1 ] ๋งฅ๋ถ Spring Tools 4 ์„ค์น˜ํ•˜๊ธฐ Step 1 ๋จผ์ € https://spring.io/tools ์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•ด์„œ m1 ์ „์šฉ ์Šคํ”„๋งํˆด์„ ๋‹ค์šด๋กœ๋“œ ํ•ด์ค๋‹ˆ๋‹ค. 4.13.1 - MACOS ARM_64 ๋ฅผ ์„ ํƒํ•ด์„œ ๋‹ค์šด๋กœ๋“œ ํ•ด์ค๋‹ˆ๋‹ค. * ARM ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์•„๋ž˜๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”.๐Ÿ‘‡ https://yunamom.tistory.com/55 arm ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? - M1 ์˜ ํƒ„์ƒ๋ฐฐ๊ฒฝ ARM(Advanced RISC Machine) * RISC ๋ž€ (Reduced Instruction Set Coputer) ์˜ ์•ฝ์ž * ARM ์„ ํ•œ๊ตญ๋ง๋กœ ์ง์—ญํ•˜๋ฉด ( ๊ณ ๊ธ‰ ์ถ•์†Œ ๋ช…๋ น์–ด ์„ธํŠธ ์ปดํ“จํ„ฐ ๊ธฐ๊ณ„ ) ์ž…๋‹ˆ๋‹ค. ARM ์€ ์ผ๋ฐ˜ ์ธํ…” CPU๊ณ„์—ด์˜ CISC๋ผ๋Š” ๋ช…๋ น์–ด ๊ตฌ.. yunamom.tistory.com Step 2 ๋‹ค์šด๋ฐ›์€ SpringToolSuite4 .. 2022. 3. 17.
MyBatis Cache ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? โœจ Mybatis Cache ์บ์‹œ ๊ธฐ๋Šฅ ํ™œ์šฉ ๋™์‹œ ์ ‘์†์ž ์ˆ˜๊ฐ€ ๋งŽ์•„์„œ ์„ฑ๋Šฅ์ด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ ์„ฑ๋Šฅ ๊ฐœ์„ ์— MyBatis ์บ์‹œ๊ฐ€ ํšจ๊ณผ์  ์กฐํšŒ๊ฐ€ ํ›จ์”ฌ ๋” ๋งŽ์€ ํ…Œ์ด๋ธ” or Mapper๋ฅผ ํ†ตํ•ด์„œ๋งŒ ๊ทธ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ๊ฒฝ์šฐ ์ •๋ณด ์‹œ์Šคํ…œ์—์„œ ๋ณ‘๋ชฉ ์ง€์ ์€ ๋Œ€๋ถ€๋ถ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ •๋ณด์‹œ์Šคํ…œ ์„ฑ๋Šฅ์˜ ๊ด€๊ฑด์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์บ์‹œ(cache)๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ์•„์ฃผ ํฐ ๋„์›€์ด ๋œ๋‹ค. Mybatis์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์บ์‹œ๋Š” mapper ๋งˆ๋‹ค ๋”ฐ๋กœ ์ƒ์„ฑ๋œ๋‹ค. โœจ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์บ์‹œ ์ ˆ์ฐจ mapper์˜ ์กฐํšŒ ๋ฉ”์†Œ๋“œ๋Š” @select(…) ์— ์ •์˜๋œ SELECT SQL ๋ช…๋ น์„ DB์—์„œ ์‹คํ–‰ํ•œ๋‹ค. ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ mapper์˜ ์บ์‹œ์— ์ €์žฅํ•œ๋‹ค. ์บ์‹œ๋Š” HashMap ํ˜•ํƒœ์˜ ์ž.. 2022. 3. 10.
[Spring Boot] JPA ์™€ Mybatis ์žฅ/๋‹จ์  JPA ์™€ mybatis ๋น„๊ต MySQL, Oracle, SQL Server ๋“ฑ DBMS ์ œํ’ˆ ๋งˆ๋‹ค SQL ๋ฌธ๋ฒ•์€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋ž˜์„œ DBMS ์ œํ’ˆ์„ ๊ต์ฒดํ•˜๋ ค๋ฉด, SQL ๋ฌธ์žฅ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค. โœจ JPA ์žฅ์  SQL ๋ช…๋ น์„ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๊ทธ๋ž˜์„œ DBMS ์ œํ’ˆ์„ ๊ต์ฒดํ•˜๋”๋ผ๋„ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ, ๊ตฌํ˜„ํ•  ์†Œ์Šค์ฝ”๋“œ์˜ ์–‘์ด ์ƒ๋Œ€์ ์œผ๋กœ ์ ๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. โœจ JPA ๋‹จ์  ์ต์ˆ™ํ•˜์ง€ ์•Š๋‹ค. ๋ณต์žกํ•œ ์กฐํšŒ ๋ช…๋ น์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๋•Œ, ์ต์ˆ™ํ•œ SQL ๋ช…๋ น์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜๊ฐ€ ์—†๊ณ , JPA์˜ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. โœจ MyBatis ์žฅ์  ์ต์ˆ™ํ•œ SQL ๋ช…๋ น์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. SQL ๋ฌธ์žฅ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, SQL .. 2022. 3. 7.
[Spring Boot] ์ดํด๋ฆฝ์Šค ์ดˆ๊ธฐ์„ค์ • ํ•˜๊ธฐ Spring Boot DevTools hot reload ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„œ๋ฒ„๋ฅผ ์žฌ์‹œ์ž‘ํ•˜์ง€์•Š์•„๋„ ๋ฆฌ๋กœ๋“œ ๋œ๋‹ค. (์ž๋™ ๋ฆฌ๋กœ๋“œ) Spring Web Spring Web MVC jstl jstl 1.2 org.apache.tomcat.embed tomcat-embed-jasper JSTL JSTL ํ™•์žฅ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ tomcat-embed-jasper ์Šคํ”„๋ง ๋ถ€ํŠธ ์•ฑ์—๋Š” ํ†ฐ์บฃ ์„œ๋ฒ„๊ฐ€ ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค. ํ†ฐ์บฃ ์„œ๋ฒ„๋Š” servlet container ์ด๋‹ค. ํ†ฐ์บฃ ์„œ๋ฒ„๋Š” servlet ์„ ์‹คํ–‰ํ•˜๋Š” ์„œ๋ฒ„์ด๋‹ค. *๋ฏธ๊ตญ์€ Thymeleaf ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.(*์•Œ์•„๋‘๊ธฐ - > Thymeleaf vs JSP ) ํ†ฐ์บฃ์—์„œ JSP ํŒŒ์ผ์ด ์‹คํ–‰๋˜๋Š” ๊ฒƒ์€, ๋จผ์ € JSP ํŒŒ์ผ์ด servlet ์œผ๋กœ ๋ณ€ํ™˜(์ปดํŒŒ.. 2022. 3. 4.
728x90
๋ฐ˜์‘ํ˜•