JAVA19 SQL ๋์ ์ฟผ๋ฆฌ foreach๋ฌธ ๋ฌธ๋ฒ ์ ๋ฆฌ List data = new ArrayList(); data.put('data', arr); MainMapper.insertData(data); INSERT INTO ${session.tableName}.personDetail(P_ID, P_NAME, P_AGE) VALUES #{person.p_id}, #{person.p_name}, #{person.p_age} SQL foreach ๋ฌธ ํ๊ทธ ๊ธฐ๋ฅ collection ์ ๋ฌ๋ฐ์ ์ธ์ (List or Array) item ์ ๋ฌ๋ฐ์ ์ธ์ alias separator ๋ฐ๋ณต๋๋ ์ฌ์ด์ ์ถ๋ ฅํ ๋ฌธ์์ด index ๋ฐ๋ณต๋๋ ๊ตฌ๋ฌธ ๋ฒํธ (0๋ถํฐ ์์ฐจ ์ฆ๊ฐ) open ๊ตฌ๋ฌธ ์์๋ ๋ ์ฝ์ ํ ๋ฌธ์์ด close ๊ตฌ๋ฌธ ์ข ๋ฃ๋ ๋ ์ฝ์ ํ ๋ฌธ์์ด 2023. 9. 21. Spring ์ปค์คํ Annotation (@Target, @Retention) ์๋ก์ด ํ์ ๋ค์ด์์ ๋ฐฑ์๋ ์ฝ๋๋ฅผ ๋ณด๋ค๊ฐ ์ปค์คํ ๋ ์ด๋ ธํ ์ด์ ์ ๋ฐ๊ฒฌํ๋ค. ์ด๋ ธํ ์ด์ ๋ ์ปค์คํ ์ด ๋๋ค๋..! ์ ๊ธฐํด์ ์ปค์คํ ์ด๋ ธํ ์ด์ ์ ๋ํด ์์๋ณด์๋ค. @์ปค์คํ ์ด๋ ธํ ์ด์ ๋ช ํํ ์๋ ์ด๋ ธํ ์ด์ ์๋ @Controller @Service ๋ฑ์ด ์๋๋ฐ, ์ด๋ค์ ์ฌ๋ฌ ๊ธฐ๋ฅ(์ด๋ ธํ ์ด์ ) ์ ํฌํจํ๊ณ ์๋ค. ์ด๋ ธํ ์ด์ ์ ๋ง์ ๊ธฐ๋ฅ ์ค ํ์ํ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํ ์ ์๋๋ก ์ปค์คํ ํ ๊ฒ์ด ์ปค์คํ ์ด๋ ธํ ์ด์ ์ด๋ค. ์ปค์คํ ์ด๋ ธํ ์ด์ ์ @Target ๊ณผ @Retention ๋ฑ meta annotation ์ ์ฌ์ฉํ์ฌ ์ปค์คํ ํ ์ ์๋๋ฐ, ์ด๋ฌํ meta annotation ์ ๋ณดํต ๋ค๋ฅธ ์ด๋ ธํ ์ด์ ์์ฑ ์์๋ ํฌํจ๋๋ ์ด๋ ธํ ์ด์ ์ด๋ผ๊ณ ํ๋ค. ๋ด๊ฐ ๋ฐ๊ฒฌํ ์ปค์คํ ์ด๋ ธํ ์ด์ ์ @Target @Retention ๋ ๊ฐ์ง ์ด๋ ธ.. 2023. 9. 19. [Java] MyBatis xml ์์ฑ Mapper - namespace : ์ฌ๋ฌ ๊ฐ์ SQL๋ฌธ์ ํจํค์ง์ฒ๋ผ ๋ฌถ๋๋ค. SQL ํ๊ทธ - ํ๊ทธ๋ฅผ ์ ๊ณต - ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ sql๋ฌธ์ ๋ฏธ๋ฆฌ ์ ์ํด ๋ ์ ์๋ค. SELECT #{S_ID} AS L_ID, F.L_NAME, F.L_TEACHER, F.L_PLACE, F.L_TIME, F.L_MAX FROM ${DB_LESSON}.FIRST_TYPE F WHERE F.L_ID = '11111' AND F.L_NAME NOT IN ( SELECT L_NAME FROM ${DB_LESSON}.FIRST_TYPE WHERE L_ID = #{S_ID} ) SELECT COUNT(*) FROM ( ) A parameterType - parameterType ์ ์ง์ ๋ ๊ฐ์ด SQL๋ฌธ ์ ๋ ฅ ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ค. resul.. 2023. 9. 18. [JAVA] DAO, DTO, VO ์ ๋ฆฌ ์ ์ฒด์ ์ธ ํ๋ฆ DB -> DAO -> SERVICE (-MAPPER) -> CONTROLLER -> WEB DAO (Data Access Object) - ์ค์ ๋ก DB ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํ ๋ฐ์ดํฐ DOMAIN (= Entity) Lesson.java @Data @Getter @Setter @NoArgsConstructor public class Lesson { private int c_idx; private String c_name; private int ag_idx; @Builder public Lesson(int c_idx, String c_name, int ag_idx) { this.c_idx = c_idx; this.c_name = c_name; this.ag_idx = ag_idx; } } L.. 2023. 9. 16. [JAVA] Spring Boot ํ๊ฒฝ์์ ํฐ์บฃ ์ฌ์ฉํ๊ธฐ 1. Eclipse MarketPlace ์ sts ๊ฒ์ํด์ Spring Tools 4 (aka Spring Tool Suite 4) ์ค์น 2. File - New - Other - Spring Boot ๊ฒ์ํด์ ์คํ๋ง ์น ํ๋ก์ ํธ ์์ฑ 3. ํ๋ก์ ํธ ๊ฒฝ๋ก ์ค์ Spring Boot ์์๋ jsp ํ์ผ ์ง์์ ์ํ๊ธฐ ๋๋ฌธ์ jsp ํ์ผ์ ์ฌ์ฉํ๋ ค๋ฉด jsp ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ ํ ๋ค์ application.properties ํ์ผ์ view ๊ฒฝ๋ก์ ๋ํ ์ค์ ์ ์ถ๊ฐํด ์ฃผ์ด์ผ ํ๋ค. // application.properties server.port=8080 spring.mvc.view.prefix=/WEB-INF/Views/ spring.mvc.view.suffix=.jsp Project ์ฐํด๋ฆญ - Run As.. 2021. 9. 27. [JAVA] Spring์์ Mybatis ์ฐ๋ Spring ํ๊ฒฝ์์ Mybatis - Mysql ์ฐ๋ํด์ ๋ก๊ทธ์ธ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ 1. Spring ์ธํ https://wz0z30.tistory.com/12 [Java] Spring ์ด๊ธฐ ์ธํ (์๋) 1. Maven Project ์์ฑ ์นดํ๋ก๊ทธ Internal ๋ก ์ค์ ํ ํ web-app ์ ํ Group id, Artifact id ์ค์ -> Finish C:\Users\user\eclipse-workspace\ํ๋ก์ ํธ๋ช \.settings ์ ์ ๊ทผ org.eclipse.jdt.core.prefs ํ์ผ.. wz0z30.tistory.com 2. pom.xml ์ ์์กด์ฑ ์ฃผ์ (dependency) commons-dbcp commons-dbcp 1.4 mysql mysql-connector-java 8... 2021. 9. 24. [JAVA] Spring Bean ์ฌ์ฉํ๊ธฐ Spring ์ธํ maven project ์์ฑ pom.xml ์ dependency ์ถ๊ฐ : https://mvnrepository.com/ Context.xml ์ Bean ํ๊ทธ ์ฌ์ฉํด์ ๊ฐ์ฒด ์์ฑํ๊ธฐ @Bean : ํจ์/๊ฐ์ฒด ํธ์ถ ์์ฒด๋ฅผ Spring ์ด ํ๋๋ก ํ๋ ์ด๋ ธํ ์ด์ bean ํ๊ทธ์ id : ๋ง๋ค ํจ์์ ์ด๋ฆ bean ํ๊ทธ์ class : ํจ์์์ ๋ฆฌํดํ ๊ฐ ์ ์ constructor-arg ํ๊ทธ์ ref : ์์ฑ์์ ์ธ์ ์ ๋ฌ์ ์ํ ํ๊ทธ Hello.java ์์ฑ Factory Pattern ์ฌ์ฉ package Pack01; import org.springframework.context.support.GenericXmlApplicationContext; interface Fuel{ Str.. 2021. 9. 24. [JAVA] MyBatis ์์ํ๊ธฐ (with Delegation Pattern) Mybatis ๋? ์๋ฐ ๊ฐ์ฒด์ SQL ์ ์ฐ๊ฒฐํด์ฃผ๋ SQL ๋งคํผ ํ๋ ์์ํฌ์ด๋ค. JDBC ๋ฅผ ์ง์ ์ฌ์ฉํด์ ๊ฐ๋ฐํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ SQL ๋ฌธ๊ณผ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ตฌ๋ถํด์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ์ฑ์ด ๋๋ค. ์๋ฐ ํ์ผ์ด ์๋ XML์ ์ฟผ๋ฆฌ๋ฌธ์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ์ปดํ์ผ์ ํ์ง ์์๋ ๋๋ค๋ ์ฅ์ ์ด ์๋ค. 1. maven project ์์ฑ, Mybatis dependency(pom.xml) ์์ฑ 4.0.0 Mybatis01 Mybatis01 0.0.1-SNAPSHOT commons-dbcp commons-dbcp 1.4 mysql mysql-connector-java 8.0.26 org.mybatis mybatis 3.5.7 org.apache.maven.plugins maven-compil.. 2021. 9. 23. [JAVA] Spring ์ผ๋ก ์ต๋ช ํฌํ(์ ๊ฑฐ) ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ #2 ํฌํ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ(๋ณธ์ธ์ธ์ฆ, ์ค๋ณตํฌํํ์ธ, ํฌํ ํผ, ํฌํ์์ ์ ๊ฑฐ ํ๋ณด์์ ์ ๋ณด ์ ๋ฐ์ดํธ)์ ๋ํ ๊ฒ์ ๋ชจ๋ ๊ตฌํํ์์ง๋ง ๋ฉํ ๋์ ์กฐ์ธ์ผ๋ก ๋ช ๊ฐ์ง ๋น ํธ๋ฆฐ ๊ธฐ๋ฅ์ ์๊ฒ ๋์๋ค. 1. ํฌํ ์ทจ์ ๋ณธ์ธ ์ธ์ฆ ํ์ ํฌํ ํผ์ผ๋ก ์ ๊ทผํ๊ฒ ๋๋๋ฐ ํฌํ ํผ์์ ํฌํ๋ฅผ ์ทจ์ํ๊ณ ํ์ผ๋ก ๋์๊ฐ๋ ๊ธฐ๋ฅ์ด ์์๋ค. ์๋ฅผ ๋ค์ด ์ ๊ฑฐ ํ๋ณด์๋ฅผ ๋ดค๋๋ฐ ํฌํํ๊ณ ์ถ์ ์ฌ๋์ด ์๋ค๊ฑฐ๋ ํฌํ๋ฅผ ๋์ค์ ํ๊ณ ์ถ์ด์ ธ์ ํฌํ ํผ์์ ๋น ์ ธ ๋๊ฐ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํ์ง ์์๋ ๊ฒ์ด๋ค. ์๊ฐํด๋ณด๋ฉด ์ด๋ค ์ฌ์ดํธ์์ ์์ธ ํ์ด์ง์์ ๋ฉ์ธ ํ์ด์ง๋ก ๋์๊ฐ๋ ๊ธฐ๋ฅ, ๊ทธ๋ฆฌ๊ณ ํผ์ ๋ฃ์ ํ์ด์ง์ ๊ฒฝ์ฐ์๋ ํผ ์์ฑ์ ์ทจ์ํ๋ ๋ฒํผ์ด ์๋ ๊ฒ์ด ์ด์ฐ๋ณด๋ฉด ๋น์ฐํ๋ฐ ๋ฏธ์ฒ ๊ณ ๋ คํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ํฌํ ํผ์ด ์๋ VoteView.jsp ์์ ํฌ.. 2021. 9. 19. ์ด์ 1 2 3 ๋ค์