목록Dev/Spring (13)
Learn & Record

1. 쿼리 메서드 Query Methods 기능과 @Query - 쿼리메서드 : 메서드의 이름 자체가 쿼리의 구문으로 처리되는 기능 - @Query : SQL과 유사하게 엔티티 클래스의 정보를 이용해서 쿼리 JPQL를 작성하는 기능 - Querydsl 등의 동적 쿼리 기능 2. 쿼리메서드 - 쿼리 메서드는 주로 'findBy'나 'getBy...'로 시작하고 이후에 필요한 필드 조건이나 And, Or와 같은 키워드를 이용해서 - 메서드의 이름 자체로 질의 조건을 만들어 냄https://docs.spring.io/spring-data/jpa/reference/#jpa.query-methods.query-creation Spring Data JPA :: Spring Data JPAOliver Gierke,..

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에 설정 추가 ..