[Spring] 게시판 만들기 (1) _< 필요한 파일 생성 >
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 파일)