๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[AspectJ Weaver] execution ์ง€์‹œ์ž ์„ค์ • ๋ฐฉ๋ฒ• ์ •๋ฆฌ [AspectJ Weaver] execution ์ง€์‹œ์ž ์„ค์ • ๋ฐฉ๋ฒ• ์ •๋ฆฌ Execution ์ง€์‹œ์ž Execution ์ง€์‹œ์ž ์„ค์ • ๋ฐฉ๋ฒ• - Pointcut์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ• - ํ˜•์‹ : execution(๋ฆฌํ„ดํƒ€์ž… ํด๋ž˜์Šค์ด๋ฆ„ ๋ฉ”์†Œ๋“œ์ด๋ฆ„(๋งค๊ฐœ๋ณ€์ˆ˜)) - ๋ฆฌํ„ดํƒ€์ž… โžก๏ธ ๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด ํƒ€์ž… - ํด๋ž˜์Šค ์ด๋ฆ„ โžก๏ธ ํŒจํ‚ค์ง€๋ฅผ ํฌํ•จํ•œ ํด๋ž˜์Šค ์ด๋ฆ„ / ํŒจํ‚ค์ง€ ์ƒ๋žต ์‹œ ๋ชจ๋“  ํŒจํ‚ค์ง€ / ํด๋ž˜์Šค ์ƒ๋žต ์‹œ ๋ชจ๋“  ํด๋ž˜์Šค - ๋ฉ”์†Œ๋“œ ์ด๋ฆ„ โžก๏ธ ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„ - ๋งค๊ฐœ๋ณ€์ˆ˜ โžก๏ธ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํ˜•ํƒœ ์™€์ผ๋“œ์นด๋“œ * โžก๏ธ ํ•˜๋‚˜์˜ ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธ .. โžก๏ธ ๊ฐœ์ˆ˜ ์ƒ๊ด€์—†์ด ๋ชจ๋“  ๊ฒƒ์„ ์˜๋ฏธ ์˜ˆ) execution(void com.atoz_develop.beans.TestBean1.method1()) โžก๏ธ ๋ฆฌํ„ดํƒ€์ž… void, com.atoz_d.. 2020. 4. 27.
[JPA/Hibernate] persistence.xml ์„ค์ • ๋ฐฉ๋ฒ• [JPA/Hibernate] persistence.xml ์„ค์ • ๋ฐฉ๋ฒ• JPA 2.1 hibernate-entitymanager 4.3.10.Final JPA๋Š” persistence.xml์„ ์‚ฌ์šฉํ•ด์„œ ํ•„์š”ํ•œ ์„ค์ • ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค. ํด๋ž˜์Šค ํŒจ์Šค์˜ META-INF/persistence.xml ์— ์ƒ์„ฑํ•˜๋ฉด ๋ณ„๋„์˜ ์„ค์ • ์—†์ด JPA๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ…œํ”Œ๋ฆฟ persistence.xml์€ ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ xmlns์— ๋„ค์ž„ ์ŠคํŽ˜์ด์Šค, version์— ์‚ฌ์šฉํ•  JPA ๋ฒ„์ „์„ ์ง€์ •ํ•œ๋‹ค. ์˜ name์— unit์˜ ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์—ฐ๊ฒฐํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‹น ํ•˜๋‚˜์˜ persistence unit์„ ๋“ฑ๋กํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์— JPA ํ‘œ์ค€ ์†์„ฑ๊ณผ ํ•˜์ด๋ฒ„๋„ค์ดํŠธ ์†์„ฑ์„ ์„ค์ •ํ•œ๋‹ค. ํ•„์ˆ˜ ์†์„ฑ ์ผ๋ฐ˜์ ์œผ๋กœ JPA๋ฅผ ์‚ฌ์šฉํ• ๋•Œ ์„ค์ •ํ•ด.. 2020. 3. 19.
MyBatis ๋™์  SQL - <choose>์™€ <set>์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  SQL ๋งŒ๋“ค๊ธฐ ๊ด€๋ จ ๊ธ€ - [JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ - MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• - MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• - MyBatis์™€ Log4J ์—ฐ๋™ํ•˜๊ธฐ ์ œ๋ชฉ MyBatis์˜ ๋™์  SQL ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ SQL๋ฌธ์œผ๋กœ ์—ฌ๋Ÿฌ ์ผ€์ด์Šค๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ •๋ ฌ ์กฐ๊ฑด์— ๋”ฐ๋ผ ORDER BY ์ ˆ์„ ๋ฐ”๊ฟ”์•ผ ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์— ๋”ฐ๋ผ WHERE ์ ˆ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ๋™์  SQL ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋Š” SQL๋ฌธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ‘œ - MyBatis ๋™์  SQL ์ข…๋ฅ˜ ๋™์  SQL ์—˜๋ฆฌ๋จผํŠธ ์„ค๋ช… SQL ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ SQL๋ฌธ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. SQL SQL SQL ๊ฒ€์‚ฌํ•  ์กฐ๊ฑด์ด ์—ฌ๋Ÿฌ๊ฐœ์ผ ๊ฒฝ์šฐ ์‚ฌ์šฉ ์ž๋ฐ”์˜ if-else๋ฌธ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.. 2020. 2. 26.
MyBatis์™€ Log4J ์—ฐ๋™ํ•˜๊ธฐ ๊ด€๋ จ๊ธ€ - [JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ - MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• - MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• MyBatis์™€ Log4J ์—ฐ๋™ํ•˜๊ธฐ MyBatis์™€ log4j๋ฅผ ์—ฐ๋™ํ•˜์—ฌ MyBatis์˜ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. MyBatis์˜ ๋กœ๊ทธ ์ถœ๋ ฅ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด MyBatis์—์„œ ์‹คํ–‰ํ•˜๋Š” SQL๋ฌธ, ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’, ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ ๋™์  SQL๋ฌธ์ด ์‹คํ–‰ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ง€๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ๋””๋ฒ„๊น… ์‹œ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค. 1. MyBatis ์„ค์ • MyBatis ์„ค์ • ํŒŒ์ผ์— ๋กœ๊ทธ ์ถœ๋ ฅ ์„ค์ •์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ํ•˜์œ„์— ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์„ ์‚ฌ์šฉํ•ด์„œ ๋กœ๊ทธ ์ถœ๋ ฅ๊ธฐ๋ฅผ ์ง€์ •ํ•œ๋‹ค. MyBatis๋Š” ์—ฌ๊ธฐ.. 2020. 2. 25.
MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• ๊ด€๋ จ ๊ธ€ - [JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ - MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• MyBatis ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ฐธ์กฐํ•˜๋Š” XML ํŒŒ์ผ์€ MyBatis ์„ค์ • ํŒŒ์ผ๊ณผ SQL mapper ํŒŒ์ผ๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃฐ๊ฒƒ์ด๋‹ค. MyBatis๋Š” ์ž์ฒด ์ปค๋„ฅ์…˜ํ’€ ๊ตฌ์ถ• ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์„ค์ •ํ•ด ๋‘๊ณ  ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์šด์˜์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  DB ์ง€์ • SELECT ๊ฒฐ๊ณผ ์บ์‹ฑ VO(Value Object, ๊ฐ’ ๊ฐ์ฒด)์— alias ๋ถ€์—ฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ MyBatis ์„ค์ •ํŒŒ์ผ์—๋Š” ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์ž‘ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•œ๋‹ค. ๋‹ค์Œ์€ MyBatis ์„ค์ • ํŒŒ์ผ์˜.. 2020. 2. 24.
MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• ๊ด€๋ จ ๊ธ€ - [JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• MyBatis ์‚ฌ์šฉ ๋ชฉ์  ์ค‘ ํ•˜๋‚˜๋Š” DAO๋กœ๋ถ€ํ„ฐ SQL๋ฌธ์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ถ„๋ฆฌ๋œ SQL๋ฌธ์€ SQL mapper ํŒŒ์ผ์— ์ž‘์„ฑํ•˜๋ฉฐ DAO์—์„œ๋Š” SqlSession ๊ฐ์ฒด๊ฐ€ SQL mapper ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ๋‹ค์Œ์€ MyBatis SQL mapper ํŒŒ์ผ์˜ ์˜ˆ์ด๋‹ค. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 select PNO, PNAME, STA_DATE, END.. 2020. 2. 23.
[JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ ๊ด€๋ จ ๊ธ€ - MyBatis ์„ค์ • ํŒŒ์ผ - SQL Mapper ์ž‘์„ฑ ๋ฐฉ๋ฒ• - MyBatis ์„ค์ • ํŒŒ์ผ ์ž‘์„ฑ ๋ฐฉ๋ฒ• [JAVA/WEB] ์›น ํ”„๋กœ์ ํŠธ์— MyBatis ์„ธํŒ… ๋ฐ ์ ์šฉํ•˜๊ธฐ ํ™˜๊ฒฝ ๋ฐ ๋ฒ„์ „ ์ •๋ณด IntelliJ IDEA 2019.3 Ultimate, JDK 11, Tomcat 9, MyBatis 3 MyBatis Persistence framework ์ค‘ ํ•˜๋‚˜์ธ MyBatis๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—†์ด DB์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ JDBC API๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  MyBatis๊ฐ€ ๋Œ€์‹  ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. MyBatis์˜ ํ•ต์‹ฌ์€ ๊ฐœ๋ฐœ๊ณผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋„๋ก ์†Œ์Šค ์ฝ”๋“œ์— ๋‚ด์žฅ๋ผ์žˆ๋Š” SQL์„ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ ๋‹จ์ˆœํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ JDBC ์ฝ”๋“œ๋ฅผ ์บก์Šํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋กœ๊ทธ๋ž˜.. 2020. 2. 23.
[JSP] JSTL ์‚ฌ์šฉ ๋ฐฉ๋ฒ• - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ธํŒ… ํ™˜๊ฒฝ ์ •๋ณด IntelliJ 2019.3 Ultimate, Tomcat 9, JSTL 1.2, ์˜์กด์„ฑ ๊ด€๋ฆฌ ํ™˜๊ฒฝ X ๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ ํ™˜๊ฒฝ ์—†์ด JSTL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ธํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃฌ๋‹ค. IDE๋Š” IntelliJ 2019.3 Ultimate์„ ์‚ฌ์šฉํ•œ๋‹ค. JSTL(JSP Standard Tag Library) JSTL์€ JSP์˜ ๊ธฐ๋ณธ ํƒœ๊ทธ๊ฐ€ ์•„๋‹Œ JSP ํ™•์žฅ ํƒœ๊ทธ์ด๋‹ค. ์‚ฌ์šฉํ•˜๋ ค๋ฉด JSTL API ๋ฐ ์ž๋ฐ” ๊ตฌํ˜„์ฒด์˜ 2๊ฐœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜น์€ API์™€ ๊ตฌํ˜„์ฒด๊ฐ€ ํ•จ๊ป˜ ๋ฒˆ๋“ค ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. JSTL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹ค์šด๋กœ๋“œ 1. JSTL API + ๊ตฌํ˜„์ฒด ๋ฒˆ๋“ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 ์œ„ ๋งํฌ์—์„œ.. 2020. 2. 14.