본문 바로가기

전체 글

(97)
[SPRING BOOT_JPA] JPA계층형 댓글 구현해보기-1 계층형 댓글을 구현해 보았다. 직접 구현했다기보다는 동빈 나 님이 JSP로 계층형 댓글을 구현하는 영상을 올리셨는데 그것을 그대로 JPA로 따라 했다. www.youtube.com/watch?v=sF5LOyd_klk&list=PLRx0vPvlEmdAlUbX_TGDxaSxKCvfl2isa&index=27 나에게 계층형 댓글이 제일 어려웠던 부분은 JSP를 SPRING BOOT JPA로 바꾸는 것도 있었지만 댓글을 계층형으로 달았을 때 데이터베이스가 어떻게 바뀌는지 이해하는것이 어려웠다. 우선 실행 결과이다. 댓글은 Comments에서 작성하며 댓글의 댓글 이상(계층형 댓글 시작)은 새로운 창으로 이동 후 내용을 작성한다. 1. 댓글 작성 후 2. 대댓글 이상을 작성 했을 때 3. 대댓글 이상 작성 후 En..
[SPRING BOOT_JPA] DB를 통해 파일 업로드 및 다운로드 하기 참고자료>>leleluv1122.github.io/springboot/spring-boot-jpa-mysql-jsp-%ED%8C%8C%EC%9D%BC%EC%97%85%EB%A1%9C%EB%93%9C/ 스프링 부트 & jpa & mysql & jsp 파일(이미지)업로드 Spring boot에서 파일 업로드(MultipartFile)를 구글링해봐도 JPA는 나오지않구 mybatis밖에 나오지 않아서 쓰는 글ㅠ 내가 못찾은 거일수도….ㅋㅋㅋ 똑똑한사람들은 응용해서 잘할수도잇고!! mybatis 파일 leleluv1122.github.io 사실 참고했다기보다는 똑같이 따라 하면서 이해해보았다. File엔티티를 만들어 준다. 저장될 파일 이름(filename), 업로드할 원래 파일의 이름(fileOriName),..
[SPRING BOOT_JPA] Multipartfile로 이미지 저장하기 간단하게 폼을 만들었다. 여기서 중요한 것은 enctype="multipart/form-data"이다. @RequestPart와 MultipartFile로 이미지를 가져온 뒤 Service의 uploadFile로 넘겨준다. 저장하고 싶은 경로를 지정해 주고( D:\\) getOriginalFilename을 통해 파일의 유형 및 내용을 저장한다. 실행결과>> [파일 선택] 통해 눌러 파일을 고르고 submit을 클릭하면, 선택했던 파일 이름 그대로 원하는 경로에 저장할 수 있다. >> 다음에는 db에 저장하고 가져오는 것을 해봐야겠다.
[JAVA] NumberFormatException이란? 이걸 해석해 보면 즉, 문자열을 숫자로 변환하려고 했는데 실패했을 경우 던지는 예외이다. 예시로 설명하자면, 문자열 abc에 숫자로 변환될 수 없는 문자가 오면 예외를 터뜨린다.
[JPA] 쿼리 작성 법 1. 메서드 이름으로 쿼리 생성 1) 순수 쿼리로 짰을 때 2) 메서드 이름으로 쿼리를 생성했을 때 두 개가 같은 동작으로 처리된다. 다양한 기능을 확인하려면 spring공식 문서에 있다. 규칙 1. find... By, read... By 이런 식으로 적어야 한다.( ' ... ' 에는 아무 말이나 들어가도 됨) 2. find...By 뒤에 아무것도 들어가 있지 않으면 전체를 조회한다. (제약조건 없음) 2. @Query를 사용하기 > DTO조회하기 DTO의 경로를 다 적어야 한다. 3. 파라미터 바인딩하기
[JPA] 페치 조인(fetch join)의 한계 1. 페치 조인 대상에는 별칭을 줄 수 없다. 이렇게 하면 나머지 누락 값들이 문제가 될 수 있기 때문이다. 2. 둘 이상의 컬렉션은 페치 조인할 수 없다. OneToMany -> Team - Member OneToMany -> Team - Order 이러한 상황에서 Team에서 Member와 Order를 fetch join은 할 수 없다.(fetch join 컬렉션은 하나만 할 수 있다.) 3. 컬렉션을 페치 조인하면 페이징 API를 사용할 수 없다. 일대다 같은 경우에는 SQL입장에서 데이터가 뻥튀기되기 때문에 페이징 할 때 사이즈에 맞춰서 잘라지면 누락되는 값이 있을 수 있기 때문이다. 컬렉션을 페이조인할 때 페이징을 사용해서 경고 메시지가 뜨는 걸 확인할 수 있다. 해결방법 1) fetch joi..
[JPA] 페치조인(fetch join)이란? 페치 조인(fetch join)이란 JPQL에서 성능 최적화를 위해 제공하는 기능인데 SQL의 조인 종류와는 다르다. 예를 들어 Member와 Team의 간의 일대다 다대일 연관관계가 되어있고, Member와 Team은 지연 로딩이 설정되어있다. 여기서 Team ==> 팀1 팀 2 Member => 나무늘보, 나무늘보 2, 나무늘보 3 나무늘보, 나무늘보 2 => team 나무늘보 3 => team 2에 소속되어있다고 설정하고, JPQL를 사용해 Member를 가져온 뒤, for문을 사용해서 Member의 username과 관련된 team의 name을 가져온다고 한다면 우선 select를 통해 Member를 가져오고 Team은 지연 로딩, 즉 프록시 이므로 영속성 컨텍스트로 부터 요청하여 select문을..
[MySQL] Ubuntu에 데이터베이스 테이블 생성 및 확인 Ubuntu에 MySQL실행 데이터베이스 확인 -> show databases; 데이터베이스 사용(sloth라는 데이터베이스 사용) 해당 데이터베이스에 테이블 확인 테이블 생성 테이블 구조 확인