TIL(2023.08.16)

JAKE·2023년 8월 16일

TIL

목록 보기
28/48
post-thumbnail

🏃‍♂️What I learned

1. JDBC_2

1. XML 만들기

  • XML 파일은 주로 Properties 클래스를 통해 다룸
//e.g.)

Properties prop = new Properties(); // Properties 객체생성

FileOutputStream fos = new FileoutputStream("파일명.xml"); //XML 파일 생성

prop.storeToXML(fos, 파일명); // prop객체를 이용한 XML 파일 생성

2. XML 내용 작성

3. XML 로드

  • 작성된 XML파일을 Java에 로드(역시 Properties 클래스로)
//e.g.)

Properties prop = new Properties(); // Properties 객체생성

FileInputStream fis = new FileInputStream("파일명.xml"); // InputStream 객체 생성

prop.loadFromXML(fis, 파일명); // prop객체를 이용한 XML 파일 생성

// Prop 객체에 저장되는 값은 기본적으로 K:V 형태(둘다 String)

4. XML을 이용해 템플릿 만들기

  • 다른 클래스에서 자유롭게 사용할 필드와 메서드 생성(XML을 이용하여)
  • DB연결(Connection), 커밋, 롤백, 자원반환(close) 등에 관한 메서드 생성

    static 메서드로 생성 -> static 메모리는 프로그램 종료시까지 사용가능


2. JDBC를 통한 데이터 DB 저장

1. 클래스 생성

1) Run 클래스
2) Service 클래스
3) VO 클래스
4) DAO 클래스

2. VO클래스의 필드, 생성자, 메서드 정의

3. Run에서 서비스 메소드 호출

1) 테스트용 VO 객체생성(+매개변수)
2) Service의 메서드 실행 → (4번)으로
3) Service의 메서드 결과 반환

4. Service 클래스

1) Connection 생성
2) DAO 메서드 호출 → (5번)으로
3) DAO 메서드에서 리턴 받은값이 적합하면 커밋 아니면 롤백
4) 결과값 반환(Run 클래스로)

5. DAO 클래스(DB와 연결되는 클래스)

1) DB에 저장할 sql문 작성
2) sql문을 실을 stmt객체 생성
    (구체적으로는 PreparedStatement -> XML에 위치홀더 사용했기 때문에)
3) stmt 객체에 위치홀더 값 저장
4) sql을 실은 stmt 실행 후 결과값 반환(성공 시 1, 실패 시 0)
5) 자원반환 후 결과 값 리턴(Service 클래스로)

흐름순서
1. → 2. → 3-1) → 3-2) → 4-1) → 4-2) → 5. → 4-3) → 4-4) → 3-3)

0개의 댓글