JDBC(Java Database Connectivity)
맥북에서
Statement는 Connection 객체를 이용해서 만들어요!
SQL문장을 Statement 사용해서 실행하기!
실행할 때
- excuteQuery(): Select 계열
- excuteUpdate(): Insert, Delete, Update 계열
결과 처리 하기
Statement 사용이 너무 불편해요!
PreparedStatement를 사용 해요
속도도 빠르고 IN Parameter 구현도 용이해요
사용한 자원 해제
Connection -> Prepared Statement -> ResultSet
rs.close()
pstmt.close()
con.close()
만약 사용한 SQL이 INSERT, UPDATE, DELETE라면 transection 처리를 해 줘야 해요!
JDBC에서 Transaction 설정
Connection에 해야 해요
-> Connection 기본값 Auto commit mode(트렌젝션 적용이 안되어 있어요)
DO(Domain Object)
VO(Value Object)
DTO(Data Transfer Object)
Entity
이렇게 4개가 생긴게 비슷해요!
용도는 사실 살짝씩 달라요
Java를 배우는 우리는 일단 VO를 사용할거에요
이중에 가장 큰 범위를 가진것은?
Domain이란 무엇일까요?
사전적 의미는 영역, 분야 정도로 사용할 수 있겠네요
우리가 사용할 때는개발해야 하는 문제
를 총칭해요.
여기에는 로직, 데이터가 포함되어요.
도메인 안에서 관리되어야 하는 데이터를 가지는 객체
(전체 데이터를 모두 들고 있는것이 아니에요, 학생 한명한명의 정보를 관리할 때, 이를 표현할 수 있는 클래스, 이로 만들어진 객체를 말해요)
특정한 값을 표현하기 위해 데이터의 일부 속성을 묶어서 값으로 표현한 객체
DO가 1개 객체에 대한 전체 데이터를 모두 보여준다면, VO는 subset개념이라고 할 수 있어요
이중에 우리가 필요한 속성만 뽑아서 만들어낸 객체에요!
여러가지의 data가 담긴 정보들을 전달할 때는 객체로 만들어서 전달하면 좋다는걸 알게되었어요.
VO와 같은 것을 데이터 전달적인 측면에서 이야기해요
VO도, DO도 Object를 통해서 데이터를 전달하니까요
이 안에 Primary key가 들어있어요
일반적으로 key가 포함되는 Domain Object를 말해요
VO
객체를 지칭하는 용어에요
VO를 사용하기 위해서는 VO를 만드는 클래스가 있어야 해요
이것을 VO class라고 해요
DO를 만들기 위한 class
class Book {
제목
가격
저자
글쓴이
}
VO를 만들기 위해서는 DB의 tbale을 분석해서 만들 수 있을것 같아요!
Table를 근간으로!
일반적으로 클래스 만들때는
Table의 모든 컬럼을 가지고 클래스를 만들어서 필드를 채워요!
개념적으로는 DO에 가깝지만, 우리는 VO 또는 Entity라고 부르면서 사용할 꺼에요