Framework/Spring Framework31 (22.12.21)GeneratedKeyHolder ์ฌ์ฉํ์ฌ PK ์ ์ฅํ๊ธฐ, MyBatis ์ฌ์ฉํ์ฌ DB์ ์ฐ๊ฒฐํ๊ธฐ โโGeneratedKeyHolder ์ฌ์ฉํ์ฌ KEY๊ฐ์ ์ ํ์ฌ KeyHolder์ ์ ์ฅํ๊ธฐโโ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public boolean addAndGetPK(Emp emp) { GeneratedKeyHolder kh = new GeneratedKeyHolder(); int rows = jdbcTemplate.update((conn)->{ PreparedStatement pstmt; String sql = "INSERT INTO emp2(empno, ename, deptno, sal, hiredate) " + "VALUES(?,?,?,?,?)"; pstmt = conn.prepareStatement(sql, new String[]{".. Framework/Spring Framework 2022. 12. 21. (22.12.20)Lambda Expression ๋๋ค์ต์คํ๋ ์ ๊ณผ JdbcTemplate ํ์ฉํ์ฌ Spring๊ณผ DB ์ฐ๋ํ๊ธฐ ์ต๋ช ํด๋์ค(Anonymous Class) - ์ ์ธ ๋ฐ ๊ฐ์ฒด์์ฑ, ์ฌ์ฉ ํจ์ํ ์ธํฐํ์ด์ค - @FunctionalInterface - ์ ์ธ ๋ฐ ๊ฐ์ฒด์์ฑ, ์ฌ์ฉ - Lambda Expression(๋๋ค์) 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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 public class Main { public static void main(String[] args) { //์ถ์๋ฉ์๋์ ๊ธฐ๋ฅ ์์ฑ > ๊ตฌํ //๊ตฌํ ๋ฐฉ๋ฒ1. implements ํด์ฃผ.. Framework/Spring Framework 2022. 12. 20. (22.12.19)Spring ํ๋ ์์ํฌ : @SessionAttributes๋ฅผ ์ฌ์ฉํ์ฌ Database์ ์ฐ๋ํ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ฑํ๊ธฐ โโSpring framework๋ฅผ ์ฌ์ฉํ์ฌ Database์ ์ฐ๋ํ์ฌ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ฑํ๊ธฐโโ M : User.java , UserDAO.java V : loginForm.jsp C : UserController.java Service : UserService.java ๋จผ์ @SessionAttributes, @SessionAttribute ์ ์ฌ์ฉํ์ง ์๊ณ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ฑํ๊ธฐ User.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; @Data @ToString @AllArgsConst.. Framework/Spring Framework 2022. 12. 19. (22.12.16)Spring ํ๋ ์์ํฌ : ์คํ๋ง ํ๋ ์์ํฌ์ ์ค๋ผํด ์ฐ๋ํ๊ธฐ spring framework, oracle , jdbc, ojdbc โโSpring ํ๋ ์์ํฌ ์ค๋ผํด ์ฐ๊ฒฐ ๋ฐฉ๋ฒโโ 1๋ฒ ๋ฐฉ๋ฒ jdbc ์ ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ๋ง ๋ฑ๋กํด์ฃผ๊ณ ์ฝ๋ฉ๋ง ํด์ฃผ๋ฉด ๋๋ค.) 2๋ฒ ๋ฐฉ๋ฒ ์คํ๋ง ํ๋ ์์ํฌ์์ ์ ๊ณตํด์ฃผ๋ jdbc ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ 3๋ฒ ๋ฐฉ๋ฒ 2๋ฒ ๋ฐฉ๋ฒ + ORM ํ๋ ์์ํฌ(MyBatis) ์ฌ์ฉํ๊ธฐ 4๋ฒ ๋ฐฉ๋ฒ JPA(Java Persistence Api) ์ฌ์ฉํ๊ธฐ โโ1๋ฒ ๋ฐฉ๋ฒ: ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ ์ค์น ํ ์ ์์ค ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒโโ ํ๋ก์ ํธ์ jdbc ๋๋ผ์ด๋ฒ๋ง ๋ฑ๋กํด์ฃผ๊ณ ์ฝ๋ฉ๋ง ํด์ฃผ๋ฉด ๋๋ค. ๋จผ์ jdbc ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ถ์ ํ๋ก์ ํธ์ ์ฐํด๋ฆญํ์ฌ [Build Path] - [Configure Build Path]์ ๋ค์ด๊ฐ๋ค. ๊ทธ๋ค์ Classpath๋ฅผ ์ ํํ๊ณ [Add E.. Framework/Spring Framework 2022. 12. 16. Spring ํ๋ ์์ํฌ : lombok ํ์ฉํ๊ธฐ, Annotation( GetMapping, PostMapping )ํ์ฉํ๊ธฐ โโlombok annotation (lombok ์ฃผ์)โโ @ToString : lombok ๋๋ถ์ Override ํด์ฃผ์ง ์์๋ VOํด๋์ค์์ ๊ทธ๋ฅ ์ธ ์์๊ฒ ๋๋ค. @EqualsAndHashCode(exclude= {"ename", "deptno", "sal","hiredate"}) : lombok ๋๋ถ์ Override ํด์ฃผ์ง ์์๋ VOํด๋์ค์์ ๊ทธ๋ฅ ์ธ ์์๊ฒ ๋๋ค. exclude ํด์ฃผ๋ฉด ํด๋นํ์ง ์๊ฒ ๋๊ณ 4๊ฐ์ง๋ฅผ ๋นผ์ฃผ์์ผ๋ empno๋ง์ผ๋ก eqauls ๋ฅผ ๋น๊ตํ๊ฒ ๋๋ค. @AllArgsConstructor : lombok ๋๋ถ์ ๋ชจ๋ ์๊ท๋จผํธ๋ฅผ ๊ฐ์ง ์์ฑ์๋ฅผ ๋ง๋ค์ด ์ฃผ์ง ์์๋ ๋ด๋ถ์์ ์์์ ๋ง๋ค์ด ์ค๋ค. @NoArgsConstructor : ์๊ท๋จผํธ๊ฐ ์๋ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ๋ง๋ค์ด ์ฃผ์ง ์.. Framework/Spring Framework 2022. 12. 15. (22.12.14)Spring ํ๋ ์์ํฌ : ๋ธ๋ผ์ฐ์ ์์ ๋์ด์จ ํ๋ผ๋ฏธํฐ ๋ฐ๊ธฐ, form ๋ฐ์ดํฐ ๋ฐ๊ธฐ( Spring annotation) โโSpring ํ๋ ์์ํฌ์์ ๋ธ๋ผ์ฐ์ ์์ ๋์ด์จ ํ๋ผ๋ฏธํฐ ๋ฐ๊ธฐโโ spring ํ๋ ์์ํฌ์ ์๋ ์ฌ๋ฌ๊ฐ์ง annotation ์ตํ๊ธฐ ๋ฐฉ๋ฒ 1 : request.getParameter("dan"); ๊ฐ์ฅ ์ ์์ค์ ํ๋ผ๋ฏธํฐ ๋ฐ๋ ๋ฒ ๋ฐฉ๋ฒ 2 : @RequestParam(value="dan", defaltValue="2") (๋ํดํธ ๊ฐ์ ์ค ์ ์๋ค.) ํ๊ด์์ผ๋ก ์์น ํ ๋ถ๋ถ์ด ๊ฒ์ ํ์ํ ๋ถ๋ถ์ ๊ฐ๋ค ๋์ ํด์ฃผ์ด ๊ฐ๋จํ๊ฒ ํํ์ด ๊ฐ๋ฅํด์ง๋ค. ์คํ๊ฒฐ๊ณผ: ๋ฐฉ๋ฒ3 : @PathVariable ( ํจ์ค ์ค์ ์ ํด์ค์ผํ๋ค. @GetMapping("/gugu/{dan}") ) ๋ฐฉ๋ฒ2์ ํ๋ผ๋ฏธํฐ ๋ฐ๋ ์ฐจ์ด์ ์คํ๊ฒฐ๊ณผ : ๋ฐฉ๋ฒ 4 : @PathVariable ์ ์ฐ๋ฉด์ Optional์ ์จ์ ๋ณ์์ ๊ฐ์ด ์๋ ์๋ ๋ฐ๊ธฐ ์ค.. Framework/Spring Framework 2022. 12. 14. (22.12.13)Spring ํ๋ ์์ํฌ : ์ค์น ๋ฐ ์๊ฐ ์ดํด๋ฆฝ์ค์ ์ฐ๋ํด๋ณด๊ธฐ Spring Framework -MVC ํจํด ์ง์ -View : jsp, thymeleaf -Controller ์ปดํฌ๋ํธ : ์๋ธ๋ฆฟ์ด ์๋ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ๊ฒ ๋๋ค. (์๋ธ๋ฆฟ์ ์คํ๋ง์์ ์ง์) - ํธํ๊ฒ ํด์ฃผ๋ Annotation (์ผ์ข ์ ์ฃผ์)์ ์ ๊ณตํด์ค๋ค. ์์ )@Controller,@Service, @Persistence, @Component ๋ฑ๋ฑ -Eclipse ์ Plugin ์ผ๋ก ์ค์นํ๊ฒ๋๋ค.(STS) -ํ๋ก์ ํธ ๊ด๋ฆฌ์ฉ ํด(Maven)์ด ๋ด์ฅ ๋ผ ์๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ค์ด๋ฐ์์ ์ ์ ํ ํ์ผ์ ๋ฃ์ด ๋๋ ์ผ๋ง์ ํด์ค๋ค. ๋ทฐ๋ก์ jsp๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ค์ ์ด ํ์ํ๋ค. pom.xml ํ์ผ์ dependency ํ๊ทธ๋ฅผ ์ถ๊ฐํด์ผํ๋ค. Spring start boot application.properti.. Framework/Spring Framework 2022. 12. 13. ์ด์ 1 2 3 ๋ค์