상세 컨텐츠

본문 제목

자바스터디 Day-12

Java

by 일동일동 2022. 11. 2. 18:00

본문

728x90
반응형

싱글톤 패턴을 이용한 DB연결
싱글톤 패턴: 디자인 패턴 중 하나로 매번 드라이버를 로드하지 않고 프로세스에서 객체를 단 하나만 만들어
재활요할 수 있도록 옹유자원을 생성하는 방법

✔디자인 패턴
소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 발생했을 때 재사용할 수 있는
해결책을 다룬 알고리즘

자바 디자인 패턴 GoF 23가지 패턴

PreparedStatement 인터페이스
- Statement와 PreparedStatement의 차이는 캐시 사용 유무
- 객체를 캐시에 담아 재사용
- 반복적으로 쿼리를 수행한다면 statement에 비해 성능이 많이 좋음
- statement는 보안상 취약점이 발견되었기 때문에 PreparedStatement를 사용하는 것을 권장하고 있음
- 코드가 길어질 수 있음

    Statement
    StringBuilder sql = new StringBuilder();
    sql.append("delete from tb_member ")
            .append("where mem_userid='" + mem_userid + "'");

    PreparedStatement
    StringBuilder sql = new StringBuilder();
    sql.append("delete from tb_member ")
        .append("where mem_userid=?");
    PreparedStatement pstmt = conn.prepareStatement(sql.toString());
    pstmt.setString(1, mem_userid);
    pstmt.executeUpdate();

ResultSet 인터페이스
- 결과를 저장할 수 있는 객체
- 저장된 값을 로우 단위로 불러올 수 있음
- 로우 단위로 데이터를 가져올 경우 타입을 지정하여 불러올 수 있음

    StringBuilder sql = new StringBuilder();
    sql.append("select * from tb_member where mem_userid=? and mem_pw=?");
    Connection conn = Dbconn.getConnection();
    PreparedStatement pstmt = conn.prepareStatement(sql.toString());
    pstmt.setString(1, mem_userid);
    pstmt.setString(2, mem_userpw);
    pstmt.executeQuery();

 

✔ DTO(Data Transfer Object)
- 계층간 데이터를 교환하기 위한 자바진즈를 뜻함
- 순수한 데이터의 객체
- getter, setter 메소드를 가지고 있음
- DTO와 VO(Value Object)를 혼용해서 사용(VO 읽기전용)

✔ DAO(Data Access Object)
- 데이터베이스의 데이터에 접근하기 위해 생성하는 객체
- 데이터베이스에 접근하기 위한 로직과 비지니스 로직을 분리하기 위해 사용
- DB에 접근하여 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 하는 클래스
- 코드의 간결화 및 모듈화, 유지보수등의 목적을 위해 생성하여 사용하는 것이 권장
- DB를 사용하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트

 

반응형

'Java' 카테고리의 다른 글

자바스터디 Day-13  (0) 2022.11.03
자바스터디 Day-14  (0) 2022.11.03
자바스터디 Day-11  (0) 2022.11.01
자바스터디 Day-10  (0) 2022.10.30
자바스터디 Day-9  (0) 2022.10.29

관련글 더보기