개요: Spring Boot를 이용해 DB에 저장된 T/F 문제 데이터와 클라이언트에서 입력한 답을 대조하는
웹 프로그램 작성
- DB구성
CREATE TABLE quiz (
id bigint NOT NULL PRIMARY KEY AUTO_INCREMENT,
question text NOT NULL,
answer boolean NOT NULL,
author varchar(20) NOT NULL
)
|
cs |
DBMS: MySQL
PK인 id는 auto_increment로 자동증가되게 설정
answer는 퀴즈의 답을 true/false로 저장하기위해 boolean으로 설정,
mysql에서는 boolean타입을 tinyint로 변환하여 true=1 false=0값을 갖는다.
- Entity(Quiz클래스) 추가
package com.kh.quiz.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Quiz {
@Id
private Integer id;
private String question;
private Boolean answer;
private String author;
}
|
cs |
- getter, setter는 lombok의 @Data 어노테이션으로 갈음함.
@NoArgsConstructor: 파라미터를 받지않는 생성자를 만듦
@AllArgsConstructor: 선언된 모든 변수를 파라미터로 받는 생성자를 만듦
@Id: Primary Key 선언
- Repository(QuizRepository 인터페이스) 추가
@Repository
public interface QuizRepository extends CrudRepository<Quiz, Integer> {
}
|
cs |
CrudRepository<T, U>
T는 데이터를 받을 객체, U는 PK의 데이터타입
기본적인 쿼리문은 CrudRepository가 제공하는 메소드로 대신할수 있음.
좀더 세부적인 쿼리문을 사용하려면 QuizRepository에 선언함.
'Spring' 카테고리의 다른 글
클라이언트-서버간 파라미터 주고받기 (0) | 2022.03.17 |
---|---|
OX퀴즈 프로그램 - 4(Controller) (0) | 2022.02.02 |
OX퀴즈 프로그램 -3(View, Form) - thymeleaf (0) | 2022.01.26 |
OX퀴즈 프로그램 - 2(Service) (0) | 2022.01.11 |