강의 사이트 만들기

ERD, querydsl 세팅

계란💕 2023. 8. 8. 13:15

 


ERD

  •  ERD는 추후 수정될 부분이 많다. 
  • 멘토링도 학생당 여러 개 신청하는 경우도 있도록 테이블이 분리될 것이다. 
  • 최악의 경우 회원 관련 테이블이 모두 삭제될 수 있음..

 


querydsl 설정 Spring boot 2.6.0 이상 &  querydsl  5.0.0 버전

<hide/>
buildscript {
    ext {
        queryDslVersion = "5.0.0"
    }
}

plugins {
    id 'org.springframework.boot' version '2.7.14'
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
    id 'com.ewerk.gradle.plugins.querydsl' version "1.0.10" // Querydsl Gradle 플러그인 추가
    id 'java'
}

group = 'com.cdcs'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = '11'
}


configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
//	implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
//	implementation 'org.springframework.boot:spring-boot-starter-security'  // 보류
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
    annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"
// implementation 'com.querydsl:querydsl-jpa'
    implementation group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'com.mysql:mysql-connector-j'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
//	testImplementation 'org.springframework.security:spring-security-test'
}

tasks.named('test') {
    useJUnitPlatform()
}


test {
    useJUnitPlatform()
}

def querydslDir = "$buildDir/generated/querydsl"
querydsl {
    jpa = true
    querydslSourcesDir = querydslDir
}

sourceSets {
    main.java.srcDir querydslDir
}

configurations {
    querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}
  • Spring boot 2.6.0 버전 이상, querydsl 5.0.0 이상을 사용하는 경우, dependency 안에 querydsl 의 버전을 명시해줘야한다. 
    • querydsl 의 버전을 '5.0.0'을 그대로 넣어주면 에러가 나서 파일의 상단에 "queryDslVersion" 이라는 변수를 선언해서 사용했다. 
    • 전에 김영한 강사님의 강의를 들었을 때에는 2.4 버전이었다. 그래서 버전이 자동으로 세팅됐다. 
    • implementation 'com.querydsl:querydsl-jpa' 와 같이 버전을 명시하지 않아도 괜찮았다.
    • (인프런 querydsl 강의 내용: 스프링 부트 2.4 버전) https://github.com/goraneee/QueryDsl/blob/dev/build.gradle
  • 참고로 시큐리티 관련 부분은 아직 설정이 완료되지 않아서 주석 처리했다.

 

참고 ) https://wangtak.tistory.com/44

 


postman으로 백엔드 API 저장하기

  • 다음과 같이 패키지를 나눠서 각 API를 만들고 저장한다. 
  • 이 파일을 Json 형태의 파일로 저장할 수 있다. 

 


title

  • con
  •  con

 

 


To do list

  • Vue. 프로젝트 세팅?
  • 인프라 관련 AWS 서버 알아보기