일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 페이징
- 티스토리 쿠키 삭제
- 자바편
- 자료구조와함께배우는알고리즘입문
- 리눅스
- 선형대수
- 자료구조와 함께 배우는 알고리즘 입문
- 구멍가게코딩단
- GIT
- d
- network configuration
- 코드로배우는스프링웹프로젝트
- 스프링 시큐리티
- 이터레이터
- Kernighan의 C언어 프로그래밍
- 목록처리
- 알파회계
- /etc/network/interfaces
- baeldung
- 서버설정
- 네트워크 설정
- 처음 만나는 AI 수학 with Python
- 스프링부트핵심가이드
- 데비안
- resttemplate
- 친절한SQL튜닝
- ㅒ
- iterator
- 처음 만나는 AI수학 with Python
- 코드로배우는스프링부트웹프로젝트
- Today
- Total
목록구멍가게코딩단 (7)
bright jazz music
● bootboard라는 이름의 프로젝트 생성하여 다대일 연관관계를 실습하자 1. 프로젝트 생성 2. DB연결 설정(build.gradle & application.properties) 2-1. build.gradle 설정 추가 mariadb-java-client (jdbc) thymeleaf-extras-java8time (타임리프의 시간 처리 관련 라이브러리) 수정 후 gradle refresh 필수!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //build.gradle plugins { id 'org.springframework.boot' version '2.7.2' id 'io.spring.dependency-management' version '1.0.12.RELEASE' id '..
● 회원과 게시글과 댓글이라는 주제로 JPA에서의 연관관계를 적용할 수 있는 방법을 학습한다. 연관관계를 분석하고 @ManyToOne을 이용한 연관관계 설정하는 법 연관관계가 없는 상황에서 left(outer) join 처리 방법 즉시(Eager) 로딩과 지연(Lazy) 로딩의 차이와 효율적 처리 방법 1. 관계형 DB 에서의 entity(개체) 간의 관계(relation) 관계형 DB에서는 아래와 같은 관계로 데이터 간의 구성을 표현한다. 일대일 (1:1) 다대일 (N:1) 다대다 (M:N) 이러한 표현을 구분하는 것이 PK(주키, Primary Key)와 FK(외래키, Foreign Key)의 사용 방식에 대한 설정이다. 한 명의 회원이 여러 게시글을 작성할 수 있다. (다대일) 한 게시글에 여러 개..
● 데이터가 페이지 처리를 할 수 있도록 속성추가 화면에 전달되는 데이터는 PageResultDTO이다. 이를이용해서 화면에서 페이지 처리를 진행한다. 화면에서는 PageResultDTO를 이용하여 아래와 같이 구성한다. 페이지 번호를 10개씩 출력 1~10까지는 [이전으로] 버튼 보이지 않도록 처리 10페이지 이후에는 이전으로 가는 링크 생성 마지막 페이지의 링크 계산 1. 페이징 처리의 구성 요소 화면에서 시작 페이지(start) 화면에서 끝 페이지 번호(end) 이전/다음 이동 링크 여부(prev, next) 현재 페이지 번호(page) - 페이징 처리를 위한 가장 중요한 정보는 사용자가 보고 있는 page 정보이다. - 사용자가 5 페이지를 보고 있다면 페이지 번호는 1부터 시작 (pageSize..
● 목록처리 시 고려할 점 화면에서 필요한 목록 데이터에 대한 DTO 생성 DTO를 Pageable 타입으로 전환 Page를 화면에서 사용하기 쉬운 DTO의 리스트 등으로 전환 화면에 필요한 페이지 번호 처리 목록 처리를 위한 DTO 생성하는 경우 아래의 사항을 고려해야 한다. 목록처리는 거의 모든 게시판 기능에서 사용 따라서 재사용 가능한 구조를 생성하는 것 권장 객체지향 언어인 자바에서는 클래스를 만들어서 사용하면 용이하다. 1. 페이지 요청을 처리하는 DTO 생성 (PageRequestDTO) - PageRequestDTO는 목록 페이지를 요청할 때 사용 - 페이지 번호, 목록의 개수, 검색 조건 등이 포함되는 경향 존재 - 이러한 파라미터들을 DTO로 선언하고 추후 재사용 PageRequestDT..
실제 프로젝트를 작성하는 경우 엔티티 객체를 persistence context 바깥쪽에서 사용하는 방식보다는 DTO를 이용하는 방식을 권장하였다. DTO(Data Transfer Object) : 각 계층끼리 주고받는 우편물 개념. 순수하게 데이터를 담고 있다는 점에서 엔티티 객체와 유사하다. 그러나 목적 자체가 데이터의 전달이므로 읽고 쓰는 것이 모두 허용된다. 또한 persistence context에서 여러 번 사용되는 엔티티 객체와는 달리 일회성으로 사용되는 경향이 있다. 엔티티 객체(Entity): 단순히 데이터를 담는 객체가 아니라 실제 DB와 관련이 있고, 내부적으로 entity manager가 관리하는 객체이다. 엔티티 매니저를 생성하면 그 내부에 일대일로 persistence conte..
이전글: 2022.06.29 - [JAVA/Spring] - guestbook : 03. 자동 일자/시간 처리(등록/수정 등) +Querydsl (1) 1 . 엔티티 setter 기능 만들기(수정 시간 테스트) 엔티티 클래스는 가능하면 setter관련 기능을 만들지 않기를 권장한다. 엔티티 객체가 애플리케이션 내부에서 변경되면 JPA를 관리하는 쪽이 복잡해질 수 있기 때문이다. 따라서 수정 최소화가 권장된다. 그러나 필요에 따라서 수정기능을 만들 수도 있다. Guestbook 클래스의 title과 content를 수정할 수 있도록 해당 클래스에 changeTitle()과 changeContent() 메서드를 추가하자. //Guestbook.java package com.example.guestbook.e..
2022.06.26 - [JAVA/Spring] - guestbook: 01. 프로젝트 생성, gradle설정, DB연결, 구동 확인 2022.06.28 - [JAVA/Spring] - guestbook : 02. 기본 화면 레이아웃 구성 이번 포스팅 요약 1. 기본구조 생성 2. 자동 일자/시간 처리를 적용할 엔티티 생성(여기서는 BaseEntity.java) 3. Application클래스에서 AuditingListener 활성화 (GuestbookApplication.java에 @EnableJpaAuditing 어노테이션 추가) 4. AuditingListener를 적용한 엔티티 클래스(BaseEntity.java)를 상속할 엔티티 클래스(Guestbook.java) 생성 5. JPA를 이용할 Re..