싱글톤 패턴을 이용한 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를 사용하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트
자바스터디 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 |