Spring

[Spring] 게시판 만들기 (1) _< 필요한 파일 생성 >

숭어싸만코 2022. 10. 6. 20:17

Spring Framework 를 통해서 게시판 만들기

 

파일경로

 


1. SQL 파일과 DB 의 테이블 생성

 

sql 파일 생성 ( sql.sql )


 

- sql 파일에서  경로를 설정해주고 sql문을 통해 테이블생성


 

table명은 board

컬럼은 간단히 (idx, title, writer, content, indate, count) 로 만들었다.


 

2. VO생성

 

다음은 DB의 데이터들을 하나로 묶어줄 수 있는 VO를 생성

패키지안에 VO(Board.java)와 sql파일(sql.sql)을 만든다.

 

 


Board.java  <VO>


 

 

변수명은 board 테이블의 컬럼명과 동일하게 지어준다

 

 

 

 


스프링에선 pom.xml에 lombok API가 추가되어있다면

다음과 같은 어노테이션을 통해 여러가지 기능을 주입받아(DI) 자동으로 만들어준다.

@RequiredArgsConstructor  : @NonNull 이 붙은 요소만 초기화 하는 생성자

@NoArgsConstructor :  **기본 생성자  --> 꼭 필요
@AllArgsConstructor : 모든 필드를 초기화 하는 생성자
@Data  :  getter setter를 만드는 annotation
@ToString  : 문자로 변환


3. Controller ( POJO )  생성

- 패키지안에 BoardController.java를 생성

 

BoardController.java


@Controller : 이 파일이 Controller(POJO)임을 명시하는 어노테이션

@Inject : 메모리에 있는 객체(bean)을 가져다가 주입 시켜주는 어노테이션 ( @Autowired 라고도 쓴다.)

               >> 아래에서는 BoardMapper.java 라는 Interface를  mapper라는 이름으로 주입 받아 쓰고 있다.


 

4. Interface 및 xml 파일 생성

-mapper 라는 패키지안에 Interface (BoardMapper.java) 와 xml파일(BoardMapper.xml)을 만들어준다.

4 - 1 . Interface ( BoardMapper.java)


@Mapper : 이파일이 구현해야할 Mapper Interface 임을 명시

 

\

 


해당 Interface를 주입 받으면 쓸수 있는 기능(Method) 들이 정의 되어있다.

 


※ 스프링에서 DataBase에 연결하기 위해서는 위와 같은 5개의 API가 필요하다.

 

 

4 -2 . xml파일 ( BoardMapper.xml )

 


namespace : 네임스페이스값에 구현해야할 해당 인터페이스를 적어준다.

   <mapper namespace = " com.gjai.mapper.BoardMapper "> 

 

===============

 

< /mapper >


xml 파일( BoardMapper.xml ) 에는 Interface에 구현된 기능 (Method) 을 수행할 때 필요한

SQL문 실행 및 처리가 정의되어있다.


5. jsp 생성 ( boardList.jsp )

- 사용자에게 보여줄 jsp를 생성 

- main > webapp > WEB-INF > views  안에 boardList.jsp 생성

 


boardList.jsp (사용자에게 보여줄 jsp 파일)