목록Dev/Spring (12)
Learn & Record

1. 엔티티 클래스와 JpaRepository - (폴더와 파일은 무조건 메인 메서드 있는 곳에 만드는 구조로 해야 함) - 새로운 프로젝트에 새로운 패키지와 클래스 생성package entity;import jakarta.persistence.*;import lombok.ToString;@Entity@Table(name = "tbl_memo")@ToStringpublic class Memo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long mno;} - 코드 작성package entity;import jakarta.persistence.*;import lombok.*;@Entity@Table(name = "t..

1. Paging@Testpublic void testPaging() { Pageable pageable = PageRequest.of(0,10, Sort.by("bno").descending()); Page result = boardRepository.findAll(pageable);} - paging Test 코드를 작성@Testpublic void testPaging() { Pageable pageable = PageRequest.of(0, 10, Sort.by("bno").descending()); Page result = boardRepository.findAll(pageable); log.info("total count: " + result.get..

1.JPA / ORM - ORM : 자바와 같은 객체지향 언어에서 의미하는 RDB Relational Database의 테이블을 자동으로 매핑하는 방법 - 클래스는 데이터베이스의 테이블과 매핑하기 위해 만들어진 것이 아니기 때문에 RDB 테이블 어쩔 수 없는 불일치 존재 - ORM이 이 둘의 불일치와 제약사항을 해결하는 역할 - ORM을 이용하면 쿼리문이 아닌 코드(메서드)로 데이터 조작 가능 - JPA : ORM 기술 표준으로 채택된 인터페이스 모음 - ORM이 큰 개념이라면 JPA는 더 구체화된 스펙을 포함 - 즉 JPA 또한 실제로 동작하는 것이 아니고 어떻게 동작해야 하는지 메커니즘을 정리한 표준 명세 2. JPA 사용 시 장점 - 특정 데이터베이스에 종속되지 않음 - 객체지향적 프로그램 - 생..

1. Thymleaf - 부트에서는 뷰를 jsp보다는 템플릿이라는 것에 기능을 맡김. - jsp는 뷰만 담당하기에는 기능이 너무 많음 - 단순한 기능만 가진 템플릿을 만들어서 뷰를 담당하게 함 - 기능이 단순해서 템플릿을 퍼브리셔가 담당해도 됨 - 1) 컨트롤러에 데이터를 받아서 html에 출력하는 기능 - 2) 출력을 하려면 반복문(예 : 게시판 목록)과 조건문(예 : 페이징) 기능이 필요 - Thymeleaf가 작성하는 부분의 에러를 찾기 위해 주석 처리를 해야할 때는 - ''를 이용하는 것이 좋음 (페이지 소스 보기에서 안 보임) [[${list}]] --> 2. th:with를 이용한 변수 - 임시로 변수를 선언해야 하는 상황에서는 'th:with'를 ..

1. Spring boot - 다양한 설정이 내장돼있음 - 스프링과 기존 개념이 거의 그대로 넘어옴 2. 프로젝트 생성방식 - spring Intializr를 이용한 자동 생성 - Maven이나 Gradle을 이용한 직접생성 하지만 거의 대부분 spring Intializr에서 생성 3. 프로젝트 생성 - 인텔리제이 New project 클릭 - 위처럼 설정 후 Next - 오른쪽 칸에 항목들 추가 후 Create - 메인 함수있는 파일에 파일들, 생성해야 함 4. 프로젝트 실행 - 스프링 부트는 이미 서버를 내장한 상태에서 만들어지기 때문에 따로 서버 설정 안 해도 됨 - 실행 버튼 클릭 후 에러 확인 - 데이터베이스 설정이 안돼서 임 - application.properties에 설정 추가 ..

1. 페이지 표시 효과 ${num} - list.jsp num 부분 코드 추가 2. 페이지의 이벤트 처리 Previous - Previous에 data-num 속성 추가 ${num} - num 부분에 코드 한 줄 추가Next - Next에도 코드 추가 - 서버 재 실행 후 list 11페이지에서 페이지 소스 보기로 잘 출력 되는 지 확인 - ul이 끝나는 시점에 위 코드 추가 - Previous, Next 클릭 시 페이지 이동 3. 조회 페이지로 이동 package com.example.spring_project_02.dto;import lombok.AllArgsConstructor;im..