JDBC 연결하기!

JUNHO YEOM·2022년 12월 27일
0

DB, SQL

목록 보기
18/21

JDBC

JDBC(Java Database Connectivity)

맥북에서

  1. Driver loading 단계
  2. Database 연결 단계
    • MySQL을 설치한 PC의 IP
    • MySQL의 포트: 3306
    • Database 종류
    • Database내의 사용할 DB table
  3. Statement 생성,
    Statement라는 객체가 필요 해요
    - 1. 일반 Statement: 가장 기본
    - 2. Prepared statement: 훨씬 사용하기 편해서 주로 사용해요
    - 3. Callable statement: DB의 함수를 호출할때 사용해요(Stored procedure)

Statement는 Connection 객체를 이용해서 만들어요!

  1. SQL문장을 Statement 사용해서 실행하기!
    실행할 때
    - excuteQuery(): Select 계열
    - excuteUpdate(): Insert, Delete, Update 계열

  2. 결과 처리 하기


    Statement 사용이 너무 불편해요!
    PreparedStatement를 사용 해요
    속도도 빠르고 IN Parameter 구현도 용이해요

  3. 사용한 자원 해제
    Connection -> Prepared Statement -> ResultSet

    rs.close()
    pstmt.close()
    con.close()

    만약 사용한 SQL이 INSERT, UPDATE, DELETE라면 transection 처리를 해 줘야 해요!

    JDBC에서 Transaction 설정
    Connection에 해야 해요
    -> Connection 기본값 Auto commit mode(트렌젝션 적용이 안되어 있어요)


DB 용어

DO(Domain Object)
VO(Value Object)
DTO(Data Transfer Object)
Entity

이렇게 4개가 생긴게 비슷해요!
용도는 사실 살짝씩 달라요
Java를 배우는 우리는 일단 VO를 사용할거에요

이중에 가장 큰 범위를 가진것은?

DO(Domain Object)

Domain이란 무엇일까요?
사전적 의미는 영역, 분야 정도로 사용할 수 있겠네요
우리가 사용할 때는 개발해야 하는 문제를 총칭해요.
여기에는 로직, 데이터가 포함되어요.
도메인 안에서 관리되어야 하는 데이터를 가지는 객체
(전체 데이터를 모두 들고 있는것이 아니에요, 학생 한명한명의 정보를 관리할 때, 이를 표현할 수 있는 클래스, 이로 만들어진 객체를 말해요)


VO(Value Object)

특정한 값을 표현하기 위해 데이터의 일부 속성을 묶어서 값으로 표현한 객체
DO가 1개 객체에 대한 전체 데이터를 모두 보여준다면, VO는 subset개념이라고 할 수 있어요
이중에 우리가 필요한 속성만 뽑아서 만들어낸 객체에요!


DTO(Data Transfer Object)

여러가지의 data가 담긴 정보들을 전달할 때는 객체로 만들어서 전달하면 좋다는걸 알게되었어요.
VO와 같은 것을 데이터 전달적인 측면에서 이야기해요
VO도, DO도 Object를 통해서 데이터를 전달하니까요


Entity

이 안에 Primary key가 들어있어요
일반적으로 key가 포함되는 Domain Object를 말해요


VO
객체를 지칭하는 용어에요
VO를 사용하기 위해서는 VO를 만드는 클래스가 있어야 해요
이것을 VO class라고 해요

DO를 만들기 위한 class

class Book {
	제목
    가격
    저자
    글쓴이
}

VO를 만들기 위해서는 DB의 tbale을 분석해서 만들 수 있을것 같아요!
Table를 근간으로!

일반적으로 클래스 만들때는
Table의 모든 컬럼을 가지고 클래스를 만들어서 필드를 채워요!
개념적으로는 DO에 가깝지만, 우리는 VO 또는 Entity라고 부르면서 사용할 꺼에요

0개의 댓글