์ ์ฒด ๊ธ235 (22.12.26)Spring ํ๋ ์์ํฌ: PageHelper๋ฅผ ์ด์ฉํ ๊ณ ์์ค pagination ๊ตฌํ, Mybatis๋ก Spring๊ณผ Oracle ์ฐ๋ํ์ฌ ๊ฒ์ํ ๋ฆฌ์คํธ ๋ณด๊ธฐ โโPageHelper๋ฅผ ์ด์ฉํ ๊ณ ์์ค pagination ๊ตฌํโโ -Oracle : ROWNUM,PageHelper -MySQL : LIMIT 2,3, PageHelper โโPageHelper ์ค์ ํด์ฃผ๊ธฐโโ -application.properties : oralce -pom.xml : dependency , PageHelper Spring boot starter BoardVO.java 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 import java.util.ArrayList; import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; impor.. Framework/Spring Framework 2022. 12. 26. (22.12.23)Spring ํ๋ ์์ํฌ: Mybatis๋ก Spring๊ณผ Oracle ์ฐ๋ํ์ฌ ๊ฒ์ํ, ์ฒจ๋ถํ์ผ ์ฌ๋ฆฌ๊ธฐ BoardVO.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import java.util.ArrayList; import java.util.List; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.ToString; @Data @ToString @EqualsAndHashCode(exclude= {"title","author","regDate","contents","hit","attList"}) @AllArgsConstructor @NoArgsConst.. Framework/Spring Framework 2022. 12. 25. (22.12.22)Spring ํ๋ ์์ํฌ: Mybatis ๋ค์ด๋๋ฏนSQL, ์ฒจ๋ถํ์ผ ์ ๋ก๋ ๋ค์ด๋ก๋ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ โโ์ด๋ฆ ๋๋ ๋ถ์๋ฒํธ ํ๋๋ก ๊ฒ์ํ๋ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ(๋ค์ด๋๋ฏน sql ) โโ MybatisEmpController.java 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 64 65 66 67 import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; im.. Framework/Spring Framework 2022. 12. 22. (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.18)Android studio ํ๋ก๊ทธ๋๋ฐ : ๊ณ ๊ธ์์ ฏ โโ๊ณ ๊ธ์์ ฏโโ ๋ ์ง ๋ฐ ์๊ฐ๊ณผ ๊ด๋ จ๋ ์์ ฏ์ผ๋ก๋ ํ์ํผ์ปค, ์บ๋ฆฐ๋ ๋ทฐ, ํฌ๋ก๋ ธ๋ฏธํฐ, ์๋ ๋ก๊ทธ ์๊ณ, ๋์งํธ ์๊ณ ๋ฑ์ด ์๋ค. ์๋ ๋ก๊ทธ ์๊ณ์ ๋์งํธ ์๊ณ ์๋ ๋ก๊ทธ ์๊ณ์ ๋์งํธ ์๊ณ๋ ํ๋ฉด์ ์๊ฐ์ ํ์ํ๋ ์์ ฏ์ผ๋ก์ ์๊ณ๋ฅผ ํํํ๋ ์ฉ๋๋ก ์ฐ์ธ๋ค. ์ด ๋์ View ํด๋์ค์์ ์์๋ฐ๊ธฐ ๋๋ฌธ์ background ์์ฑ๋ฑ์ ์ค์ ํ ์ ์๋ค. ๋์งํธ ์๊ณ๋ textcolor ๊ฐ์ ์์ฑ๋ ์ค์ ํ ์ ์๋ค. ์๊ณ๊ด๋ จ XML ์ฝ๋ 1 2 3 4 5 6 7 8 9 Colored by Color Scripter cs ํฌ๋ก๋ ธ๋ฏธํฐ ํฌ๋ก๋ ธ๋ฏธํฐ๋ ํ์ด๋จธํ์์ ์์ ฏ์ด๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ์ ์ธก์ ํ ๋ ๋ง์ด ์ฌ์ฉํ๋ค. ์ฌ์ฉ๋๋ ๋ฉ์๋๋ก๋ start(), stop(), reset(), ๋ฑ์ด ์๋๋ฐ ์ด๋ ํฌ๋ก๋ ธ๋ฏธํฐ๋ฅผ ์์, ์ ์ง, .. Android studio programming 2022. 12. 18. (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. (22.12.12)MVC ๋ฐฉ์ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก 2 - SQL์ฐ๋ํ์ฌ ๊ด๋ฆฌ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐ โโ๊ด๋ฆฌ์ ์ฌ์ดํธ ๋ง๋ค๊ธฐโโ ์ด์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ํผ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ ์ฑ์ ์ ํ๊ณ ๋ค์ ํ์ต์ ํ ์ ์๊ฒ ํด์ค๋ค. ์ด์ฉ์์ ํ์ต ํ์คํ ๋ฆฌ๋ฅผ ๋ฐ์์ ๋ณด๊ฒ ๋๋ค. M : AdminVO.java , UserVO.java , HwStatusVO.java , AdminLmsDAO.java V : adminList.jsp , adminDetail.jsp , AdminLoginForm.jsp , userDetail.jsp C : AdminLmsServlet.java Service Class : AdminLmsService.java AdminLmsServlet.java 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 import java.io.IOExcep.. Web programming 2022. 12. 12. ์ด์ 1 ยทยทยท 11 12 13 14 15 16 17 ยทยทยท 20 ๋ค์