-
게시판 만들기 프로젝트카테고리 없음 2021. 10. 25. 23:39
시도하지 않으면 발전도 없다.
개념도 없고 한참 부족한 실력이지만 게시판을 한번 만들어보려고 한다.
Spring Framework, Oracle을 이용한 회원제 커뮤니티 사이트를 목표로 한다.
초기 기능은 회원가입 및 로그인, 인증된 회원에 한해서 게시물 작성/수정/읽기 의crud 서비스 제공하는 것이다.
데이터베이스로는 oracle 11g Express Edition을 학습용으로 사용한다.첫날은
1. 개발환경을 설정하는 것에 주로 시간을 보냈다.
프로젝트에 사용될 환경은 다음과 같다.
--eclipse Version: 2021-03 (4.19.0)
--java8
--springframework-version 5.07
--Spring Tools 3 (Standalone Edition) 3.9.14
--Oracle 11g
--Apache Tomcat 9.0
--mybatis 3.4.6
--커넥션 풀 라이브러리 : HikariCP
설정후 테스트를 통해서 커넥풀까지 잘 구동됨을 확인했다.이후 게시판을 만드는 것을 목표로 작업을 했다.
우선은 회원인증 필요엾이 글을 작성, 읽기, 수정, 삭제할 수 있는 게시판을 만들어보고자 한다.
sqldeveloper를 이용해서 자유게시판용도의 테이블을 선언하고 확인했다.
테이블명은 free_board이다.
free_board은 다음과 같은 구성요소가 필요하다고 생각되어 계획해보았다.
게시글을 하나의 객체화 하여 데이터베이스 테이블에 한 레코드로 삽입되게끔 계획하였다.
게시물을 저장하는데 있어서 필요한 요소는
--게시글의 번호(자동삽입되며 시퀀스를 통해 구현함)
--게시글의 제목(변동가능한 200자까지의 문자열 데이터, 비어있으면 안되게끔 구현)
--게시글의 제목(변동가능한 2000자까지의 문자열 데이터, 비어있으면 안되게끔 구현)
--게시글의 작성자(변동가능한 20자까지의 문자열 데이터, 비어있으면 안되게끔 구현)
--게시글의 작성일시(작성시 자동으로 기입되어 저장되게끔 구현)
--게시글의 수정일시(작성시 자동으로 기입되어 저장되게끔 구현)create sequence seq_board;
create table free_board (
bno number(10,0), //최대 정수 10자리 표현 가능한 범위 선언
title varchar2(200) not null,
content varchar2(2000) not null,
writer varchar2(50) not null,
regdate date default sysdate,
updatedate date default sysdate
);
alter table free_board add constraint pk_board primary key (bno);
//free_board의 bno칼럼을 pk_board라는 이름을 부여한 primary key로 지정함.
테이블에 데이터가 잘 추가되는지 sqldeveloper로 추가해봄.
잘 추가가 되었다.
이제 게시글에 해당되는 자바 클래스를 생성해야 한다. 테이블의 설계를 기준으로 작성한다.
FREE_BOARD의 컬럼명과 일치하게 BoardVO 클래스의 변수명을 선언한다.
각 변수의 getter, setter 작성
web.xml에 <mybatis-spring:scan base-package="com.lee.community.mapper"/> 을 선언했기에,
위의 경로 패키지에 BoardMapper 인터페이스를 추가함.테스트를 위해서 log4j설정을 하는 도중 시간을 많이 빼앗겼다.
콘솔창에 sql문을 실행하는 로그가 출력되지 않았는데,
이유는 log4jdbc.log4j2.properties 파일명이 잘못된 까닭이었다.
내일은 게시판에 crud 동작을 구현하는 것을 목표로 한다.