어디까지 갈 수 있을까?
Part 2. Spring MVC/JPA/Thymeleaf 연습 본문
1. 프로젝트 화면 구성
기능 | URL | GET/POST | 기능 | Redirect URL |
목록 | /guestbook/list | GET | 목록/페이징/검색 | |
등록 | /guestbook/register | GET | 입력 화면 | |
/guestbook/register | POST | 등록 처리 | /guestbook/list | |
조회 | /guestbook/read | GET | 조회 화면 | |
수정 | /guestbook/modify | GET | 수정/삭제 기능 화면 | |
/guestbook/modify | POST | 수정 처리 | /guestbook/read | |
삭제 | /guestbook/remove | POST | 삭제 처리 | /guestbook/list |
깔끔 그 자체,,, 나도 플젝 할 때 URL 이렇게 정리해야 겠다
2. BaseEntity
@MappedSuperclass //테이블로 생성되지 않음
@EntityListeners(value={AuditingEntityListener.class}) //엔티티가 생성,변경되는 것 감지하는 역할
@Getter
abstract class BaseEntity {
@CreatedDate
@Column(name = "regdate", updatable = false)
private LocalDateTime regDate;
@LastModifiedDate
@Column(name="moddate")
private LocalDateTime modDate;
}
@SpringBootApplication
@EnableJpaAuditing
public class Ex1Application {
public static void main(String[] args) {
SpringApplication.run(Ex1Application.class, args);
}
}
3. Querydsl
plugins {
//Querydsl
id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
}
dependencies {
//Querydsl
implementation 'com.querydsl:querydsl-jpa'
}
//Querydsl
def querydslDir = "$buildDir/generated/quertdsl"
querydsl{
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets{
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
build.gradle에 이렇게 추가하고 맨 아래 compileQuerydsl을 실행하면
Q도메인이 생성된다
public interface GuestbookRepository extends JpaRepository<Guestbook, Long>, QuerydslPredicateExecutor<Guestbook> {
}
4. 페이지 처리
참고
728x90
'책 > 코드로 배우는 스프링 부트 웹 프로젝트(구멍가게 코딩단)' 카테고리의 다른 글
part 1. 스프링부트 기초지식 (0) | 2021.06.20 |
---|
Comments