ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 게시판 만들기 프로젝트
    카테고리 없음 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 동작을 구현하는 것을 목표로 한다. 

Designed by Tistory.