[SpringBoot Project] Study Website Project
개발환경Front-End : React Back-End : SpringBoot, MySQL 주요 기능1. 공지사항 일정2. 게시판 + 댓글(알림 기능) - 비밀 게시판 (강의 추천 등) - 자유 게시판 (과제 질문, 신입생 질문 게시판 등) -
shyeeon.tistory.com
- 테이블 생성
NN : 입력을 받지 않으면 안 됨
- 작성 폼 생성
resources > temolates > activeBoardWrite.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>게시글 작성폼</title>
</head>
<style>
.layout {
width: 500px;
margin: 0 auto;
margin-top: 40px;
}
.layout input {
width: 100%;
box-sizing: border-box;
}
.layout textarea {
width: 100%;
margin-top: 10px;
min-height: 300px;
}
</style>
<body>
<div class="layout">
<form action="/active/board/writePro" method="post">
<input name="title" type="text">
<textarea name="content"></textarea>
<button type="submit">작성</button>
</form>
</div>
</body>
</html>
ActiveBoardController
- Entity 사용하여 제목 전송
@Entity : 해당 클래스가 JPA 엔티티임을 명시
(해당 클래스가 DB에 있는 테이블을 의미)
@Id : primary key로 @Id가 붙은 필드는 반드시 유일한 값이며 NULL일 수 없음
@GenerateValue : 기본 키 값이 자동으로 생성되도록 설정하는 애너테이션
- GenerationType.AUTO (기본값): 데이터베이스에 맞춰 자동으로 기본 키 값을 생성
- GenerationType.IDENTITY: 데이터베이스의 자동 증가 필드 방식으로 기본 키 값을 생성
- GenerationType.SEQUENCE: 시퀀스를 사용하여 기본 키를 생성
- GenerationType.TABLE: 임시 테이블을 사용하여 기본 키 값을 생성
- 글 작성 처리
activeBoard → post로 변경
데이터 전송 시 자동으로 active_board가 생성되었다
@Table로 지정해주지 않으면 이 문제가 반복되었다
스키마 이름을 hi나 post 등으로 만들면 @Table을 지정하지 않아도 테이블을 만들지 않고 해당 테이블에 잘 들어갔다
문제가 뭔지 찾기 위해 여러 방법을 써봤다
캐시가 삭제되지 않았나 싶어 캐시 삭제를 해보았지만 해결되지 않았다
yearBoard, yearPost, board, Board 등 스키마를 새로 만들었음에도 active_board를 만드는 문제가 해결되지 않았다
도대체 뭐가 문제인지 모르겠다
3일 동안 스키마만 수십 번 만들고 연결한 결과 이제 눈 감고도 만들 수 있다..ㅎ
'Project > Study Website Project' 카테고리의 다른 글
| [String Boot Project] 파일 업로드 (0) | 2025.01.20 |
|---|---|
| [String Boot Project] 게시글 메시지 (1) | 2025.01.20 |
| [Spring Boot Project] 게시글 삭제 및 수정 (0) | 2025.01.14 |
| [Spring Boot Project] 게시글 리스트 및 상세 페이지 (0) | 2025.01.14 |
| [Spring Boot Project] Study Website Project (0) | 2025.01.10 |