어디까지 갈 수 있을까?

Part 2. Spring MVC/JPA/Thymeleaf 연습 본문

책/코드로 배우는 스프링 부트 웹 프로젝트(구멍가게 코딩단)

Part 2. Spring MVC/JPA/Thymeleaf 연습

_Min 2021. 6. 20. 20:37

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. 페이지 처리

 

 

 

 

 

참고

http://www.yes24.com/Product/Goods/96051853

728x90
Comments