방명록 조회 처리 @Id 에 해당하는 번호를 이용해서 처리 컨트롤러에서는 Model을 이용해서 처리 결과를 반환 화면에서 목록 페이지로 가는 링크가 필요하므로 PageRequestDTO를 그대로 화면에 전송해서 목록으로 가는 링크를 처리 @GetMapping("/read") public void read(long gno, @ModelAttribute("requestDTO") PageRequestDTO requestDTO, Model model ){ log.info("gno: " + gno); GuestbookDTO dto = service.read(gno); model.addAttribute("dto", dto); } 방명록 수정과 삭제 •서비스 계층 삭제 – Repository의 deleteById( ..
자동으로 처리되는 날짜/시간 설정 =>엔티티의 등록시간과 수정 시간에 대한 설정을 위한 클래스를 구성 =>@EnableJpaAuditing 어노테이션 적용 MyBatis를 이용하는 경우에 SQL을 위해서 전달되는 객체는 모두 SQL 처리가 끝난 후에 어떻게 되든 상관없는 객체 JPA에서 사용하는 엔티티 객체들은 영속 콘텍스트 라는 곳에서 관리되는 객체 엔티티 클래스와 Querydsl =>다양한 상황에 맞게 동적으로 JPQL을 생성하는 방법 =>JOOQ나 Querydsl이 주로 사용 =>Querydsl의 경우 별도의 Q도메인이라는 클래스를 생성 Querydsl -> 코드내부에서 상황에 맞는 쿼리를 생성할 수 있음. 이를 위해서 Q도메인 사용 -> Querydsl 라이브러리를 이용해서 엔티티 클래스를 Q도메..
Thymeleaf 사용하는 이유 JSP와 유사하게 ${}을 별도의 처리 없이 이용가능 Model에 담긴 객체를 화면에서 JavaScript로 처리하기 편함 연산이나 포맷과 관련된 기능을 추가적인 개발없이 지원 개발도구를 이용할때 .html 파일로 생성하는데 문제가 없고 별도의 확장자를 이용하지 않음 Thymeleaf 사용 할때 설정파일 변경 spring.thymeleaf.cache=false //화면 고쳤을때 바로 변경됨 //ex1.html Thymeleaf 쓸려면 기본적으로 써야 될 항목 => xmlns:th="http://www.thymeleaf.org" Thymeleaf를 추가하는 이유 -> html과 유사해지고 싶어서 사용방법 1. 2. [[${'Hello World'}]] 반복문 처리 th:ea..
1. Spring Data JPA 이용하는 프로젝트 생성 위와 같이 Spring Initializer를 이용하여 스프링 부트 프로젝트 생성 실행시키면 오류 발생 => Spring Data JPA 라이브러리가 추가되었기 때문에 자동으로 이에 관련된 설정을 추가하였으나 구체적인 값이 지정되지 않아서 발생하는 문제 따라서 두가지 설정 필요 1. MariaDB를 위한 JDBC 드라이버 => maven mariadb 를 구글에 검색하면 찾을 수 잇음. Gradle 관련 설정 복사하여 build.gradle 파일의 dependencies 항목에 추가 2. 스프링 부트 프로젝트 내 MariaDB 설정 => application.properties 파일 설정 spring.datasource.driver-class-na..
1. 개발도구 준비 Intellij - 학교 메일 계정을 이용하면 Ultimate를 1년단위로 무료 사용이 가능 www.jetbrains.com/idea/download/download-thanks.html Thank you for downloading IntelliJ IDEA! Code-centric IDE, focused on your productivity. Full Java EE support, deep code understanding, best debugger, refactorings, everything right out of the box... www.jetbrains.com 필자는 Ultimate 버전으로 사용 2. 프로젝트 생성 Create New Project -> Spring Ini..