본문 바로가기

boot_JPA 수업 정리

(5)
Boot_JPA 5일차 검색기능 구현 - build.gradle 추가부분 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"def querydslSrcDir = 'src/main/generated'clean{ delete file(query..
Boot_JPA 4일차 유저권한 기능 구현 ( 시큐리티 ) 추가하는 디펜던시  implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'  ● SecurityConfig 생성/ 설정 - 인코딩 @Bean PasswordEncoder passwordEncoder(){ return PasswordEncoderFactories.createDelegatingPasswordEncoder(); } - 권한별 페이지 설정, 로그인, 로그아웃 설정 @Bean SecurityFilterChain filterCha..
Boot_JPA 3일차 파일 기능 구현 ( 다했던 내용이므로 순서와 코드정도만  자세한내용은 처음 파일기능 구현 게시글 참고 JPA하면서 추가된내용만 추가적으로 서술 )  파일 추가● register 화면에 file 추가, 출력라인 화면 구성  File File Upload  ● 파일 업로드버튼을 작동시켜줄 js 생성 / 구현 document.getElementById('trigger').addEventListener('click', () => { document.getElementById('file').click();})// 실행파일 막기 / 20MB 이상 막기 const regExp = new RegEx..
Boot_JPA 2일차 페이지네이션 구현 ● 스프링 프레임워크 자체  Page 를 이용해서 페이지 네이션을해주기위해 BoardDTO 객체의 리스트를 페이지네이션  사실상 DB쪽 계산을 해주는 부분인데 (limit)  화면에 보내는 페이징쪽은 따로 계산해서 만들어줘야해서 PagingVO가 필요함. @GetMapping("/list") public void list(Model model, @RequestParam(value = "pageNo", defaultValue = "0", required = false) int pageNo){ Page list = boardService.getList(pageNo); log.info(">>> list >> {} ", list); log.inf..
Boot_JPA 1일 JPA를 써서 게시판을 만들어보자. jpa(Java Persistence API) JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음ORM(Object-Relational Mapping)우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다.실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크임. 인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함 객체와 테이블 매핑 : @Entity, @Table기본키 매핑 :..