JUST GO

[공통] JDBC 본문

Java/학습내용

[공통] JDBC

root_go 2022. 10. 24. 10:13

JDBC

  • JDBC(Java-Database Connector)는 Java 언어를 이용하여 DBMS에 접속하고자 할 때 사용하는 Java에서 제시하는 표준이다. 이에, 각 DBMS 개발사는 JDBC 표준에 맞게 Connector 의존성을 개발하여 배포하고 있다. (자주 사용하는 의존성 참고)
  • Connection(java.sql.Connection) : Java 어플리케이션과 데이터베이스간의 연결을 제공하는 인터페이스이다. 직접 객체화하지 않고, 이가 구현하여야 하는 로직은 Class.forName 메서드를 활용하여 지정한 DBMS의 드라이버(Driver)에 따라 DriverManager(java.sql.DriverManager)가 구현하여 반환한다.
    • setAutoCommit(boolean b) : 해당 Connection 객체를 통해 벌어지는 일들에 대해 자동으로 커밋(Commit)할지의 여부를 지정한다. 별도의 조치가 없다면 true로 지정되어 있다.
    • commit() : 해당 Connection 객체를 통해 발생한 DML 변경사항을 적용한다.
    • rollback() : 해당 Connection 객체를 통해 발생한 DML 변경사항을 취소한다.
  • PreparedStatement(java.sql.PreparedStatement) : DBMS에서 실행할 쿼리(Query)를 담고있는 인터페이스이다. 직접 객체화하지 않고, 위에서 반환된 객체인 Connection 객체의 prparedStatement 메서드를 통해 객체를 전달 받는다. 
    • 비정적 메서드
      • execute : 실행 결과가 ResultSet 으로 나타내어질 수 있는가의 여부(대체적으로 SELECT 쿼리를 실행했는가)를 반환한다.
      • excuteUpdate : 실행 결과에 의해 영향을 받은(삽입, 삭제, 수정 등) 레코드의 개수를 반환한다. 단, SELECT 된 개수를 반환하지는 않는다.
      • executeQuery : 실행 결과를 ResultSet 타입의 객체로 담아 반환한다. 주로 SELECT 쿼리 실행시에 사용한다.(기대하는 결과 값이 있을 때)
    • ResultSet(java.sql.ResultSet) : PreparedStatement 객체의 executeQuery 메서드가 반환하며, SELECT 쿼리의 실행 결과를 Set의 형태로 가지고 있다. 반복(Iteration)을 통해 각 레코드에 순차적으로 접근할 수 있다.
    • 비정적 메서드 
      • next : 다음으로 가리킬 레코드가 존재하는가의 여부를 반환한다.
  • 커밋(Commit) : DML(Data Manipulation Language, INSERT, SELECT, DELETE, UPDATE) 쿼리에 의해 발생한 변경 사항을 적용하는 것.

 

'Java > 학습내용' 카테고리의 다른 글

[공통] JDBC - DatabaseUtils 관련  (0) 2022.10.20
[기타] 자주 사용하는 의존성  (0) 2022.10.20
[기타] 에러 발생 시  (0) 2022.10.20
[공통] 메이븐  (0) 2022.10.20
[공통] 인터페이스  (0) 2022.10.19