한코딩 게시판 무작정 따라하기 DB에 테이블 생성 ~ 게시글 리스트까지 따라하고 작성한다.

DB에 테이블 생성

MySQL workbench에서 MariaDB를 실행한다. board SCHEMAS를 누른 후 오른쪽 버튼을 클릭해 Create Table을 선택해서 table을 만든다.

•PK (Primary Key) = 테이블에서 각 행(row)을 "유일하게" 식별하는 값.
•NN (Not Null) = "이 컬럼은 반드시 값이 있어야 한다"는 의미.
•UQ (Unique) = 중복 값을 넣을 수 없음.
•B (Binary collation) = 문자형 컬럼에서 데이터를 저장하거나 비교할 때 대소문자 구분 없이가 아니라 이진(Binary) 방식으로 바이트 단위로 엄격하게 비교하겠다는 표시.
•UN (Unsigned) = 부호없음. 음수 X, 양수만 O. 숫자형 컬럼에만 적용 가능. 음수는 아예 저장하지 않겠다는 의미.
•ZF (Zero Fill) = 숫자형 컬럼에 적용 가능. 저장된 숫자 값을 고정된 길이로 표시할 때, 남는 자리 앞을 0 으로 채워서 보여주는 옵션.
주의: 실제 값이 바뀌는 게 아니라, 보여줄 때만 0 으로 채웁니다!
•AI (Auto Increment) = 숫자형 컬럼에 적용 가능. 새 레코드(행)가 추가될 때마다 자동으로 숫자를 1씩 증가시켜 저장.
•G (Generated Column) = 다른 컬럼을 기반으로 자동 계산되는 컬럼.

게시글 작성폼 생성

1.board.html생성
resources밑에 templates에서 생성하면 된다.

-HTML 기본 코드


게시글 작성 처리

게시글 작성폼 생성만으로는 내용을 작성해도 아무 일이 일어나지 않는다.
그러므로 게시글 작성 처리를 통해 동작하게 하자!
현재 데이터를 받는 태그가 input, textarea 두 개 있다.
이 태그들을 form 태그로 감싸줘야 한다.
그리고 action을 통해 이 데이터들을 어디로 보내줄 것인지 정한다.
그리고 method를 통해 어떤 방식을 데이터를 넘겨 줄 것인지 정한다.

데이터를 어떻게 보내줄지 정했으면 어떻게 받을지도 정해야 한다.
DB에 저장을 해야해서 repository, entity필요하다.


게시글 리스트 페이지 생성

use board;
DELIMITER $$

CREATE PROCEDURE TEST()
BEGIN
DECLARE i INT DEFAULT 1;

WHILE i <=120 DO
	INSERT INTO board(title, content)
    value(concat('제목', i), concat('내용',i));
		SET i=i+1;
        end while;
	end$$

DELIMITER $$
call TEST;

🔥 Study :게시글 리스트 페이지 만들기
❓ Problem :중간에 getClass()만 되고 GetTitle()같은 애들은 작동이 안되서 계속 오류고쳐볼려고 했는데 결국 안됨.
🚀 Try : 구조를 더 알아봐야겠다
🤔 Question : 중간에 상속한 클래스에 대해 더 알아보고 싶다.

profile
달달고구마

3개의 댓글

comment-user-thumbnail
2025년 4월 13일

데이터베이스 용어 설명이 자세히 적혀있어서 개념 정리에 도움이 된 거 같아요!! 역시 getTitle() 오류가… 🥲🥲 고생하셨습니당

답글 달기
comment-user-thumbnail
2025년 4월 13일

개념과 용어에 대해 잘 설명해주셔서 많이 도움되었습니다!!

답글 달기
comment-user-thumbnail
2025년 4월 13일

저도 중간에 새로 만드는 클래스들이 뭔지 궁금하더라구요.. 차차 배워봐요! 화이팅!!

답글 달기