Spring 백앤드 설계
1. 새로운 Spring MVC 프로젝트 생성 (java version 맞추어주기
2. Library dependency 추가
3. web.xml : UTF-8 encoding filter 추가
4. root-context.xml 파일에 data source, SqlSessionFactory, SqlSession bean을 등록
5. myBatis config.xml 파일 생성
6. first-mapper.xml 파일 생성
7. FirstVO class 생성 (getters & setters)
8. FirstDAO class 생성 (CRUD methods)
9. FirstService interface 생성
10. FirstServiceImpl class 생성
11. FirstController class 생성
12. jsp 페이지들 제작
이전의 모든 사전작업이 끝났다면 하나씩 페이지 뒤 작업부터 진행해보자
7. Create the bean class
project - java resources - src/main/java - (package name) - FirstVO.java class를 생성한다.
작성해야하는 이름은 반드시!!!!!!! mysql에서 create table 할때 사용했던 변수명으로 작성해야 한다. 그렇지 않으면 제대로 받아오지 못한다. 그 이후에는 우클릭 source - generate getters and setters로 실행시킨다.
8. Create DAO class
방명록을 만드는 것이기 때문에 수정기능과 삭제기능이 필요하지는 않다. 항목을 읽고 생성하는 기능만 필요하지만, 후에 이러한 기능들이 필요할 수 있기 때문에 웹페이지상 들어나지는 않더라도 뒤에서는 기능을 준비해둔다.
package com.my.myapp;
import java.util.List;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class FirstDAO {
@Autowired
SqlSessionTemplate sqlSession;
public int insertFirst(FirstVO vo) {
return sqlSession.insert("firstExhi.insertFirst", vo);
}
public List<FirstVO> getFirstList(){
return sqlSession.selectList("firstExhi.getFirstList");
}
// below codes aren't necessary in this web. However just in case I wrote
// 밑의 코드는 지금은 필요 없다
public int deleteFirst(int seq) {
return sqlSession.delete("firstExhi.deleteFirst", seq);
}
public int updateFirst(FirstVO vo){
return sqlSession.update("firstExhi.updateFirst",vo);
}
public FirstVO getFirst(int seq) {
return sqlSession.selectOne("firstExhi.getFirst", seq);
}
}
9. FirstService interface 생성
Controller에서 호출하는 서비스에 포함되는 함수 정의이다.
CRUD함수를 정의한다.
package com.my.myapp;
import java.util.List;
public interface FirstService {
public int insertFirst(FirstVO vo);
public List<FirstVO> getFirstList();
// 필요한 항목은 여기까
public int deleteFirst(int seq);
public int updateFirst(FirstVO vo);
public FirstVO getFirst(int seq);
}
10. FirstServiceImpl class 생성
11. FirstController class 생성