Idea에 정리한 myBatis working procedure 리마인드.
(0) config.xml로 connection pool 생성 해준 후, mapper.xml 관련 정보를 포함시켜준다.
(1) UserMain 사용자 입력 받기
public void menu() {
UserService userService = null;
Scanner scan = new Scanner(System.in);
int num = 0;
while(true) {
System.out.println();
System.out.println("*************");
System.out.println(" 1. 입력");
System.out.println(" 2. 출력");
System.out.println(" 3. 수정");
System.out.println(" 4. 삭제");
System.out.println(" 5. 검색");
System.out.println(" 6. 끝");
System.out.println("*************");
System.out.print(" 번호 : ");
num = scan.nextInt();
(2) UserService로 넘어간다.
UserService 는 각 메서드를 가진 insert, delete, search, selectservice 자바 페이지의 인터페이스가 들어간다.
- mvc에서 servlet 쓰다오니까 헷갈린다. usermain -> userservice -> userinsertservice -> userDAO 순이다.
package user.service;
public interface UserService {
public void excute();
}
(3) UserInsert/Delete/Update/SearchService
UserMain에서 사용자 입력값은 else 조건문으로 받았고, DAO를 통해 database에 값을 저장시킨다.
각 service 클래스의 execute를 불러와서 실행시킨다.
public class UserInsertService implements UserService {
@Override
public void excute() {
Scanner scan = new Scanner(System.in);
System.out.print("이름 :");
String name = scan.next();
System.out.print("아이디 :");
String id = scan.next();
System.out.print("비밀번호 :");
String pwd = scan.next();
//name, id pwd를 UserDTO에 담기
UserDTO userDTO = new UserDTO();
userDTO.setName(name);
userDTO.setId(id);
userDTO.setPwd(pwd);
//DB
UserDAO userDAO = new UserDAO();
userDAO.write(userDTO);
//응답
System.out.println("데이터를 저장하였습니다.");
}
}
(4) Data access object 구동 방식.
DB 직접 접근 안하고 간접적으로 datasource에 요청하는것 확인
public UserDAO() {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); // src 라는 말은 default로 설정되어있다
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
'Database > myBatis' 카테고리의 다른 글
Core Idea. (0) | 2022.05.25 |
---|