수업 27일~31일차!
어느덧 DB 공부를 시작하고, 배웠던 간단한 SQL 문들을 JAVA와 연결해 사용하는 JDBC도 배우기 시작했다.
나는 항상 뭐랑 뭐 같이 연결할때 머리가 아프더라..^^... SQL 만 배울땐 '할만하네!' 했던 나레기 반성해...
JBDC란, java 에서 DB 정보를 받아와 프로그래밍 하기 위해 사용되는 API 이다.
인터페이스로 구성되어있어서 사용자의 DB 종류에 구애받지 않고 사용가능하다.
Class.forName ("*사용할 JDBC 드라이버 이름*");
Connection
conn = null;DriverManager.getConnection(url,user,password);
DriverManager.getConnection()
:jdbc:mysql://localhost:3306/"사용할 데이터베이스 명"
)위의 변수 3대장에 정보를 넣어 인자로 전달! 데이터 베이스에 연결!
1) Statement
를 이용한 쿼리 실행
위에서 Connection으로 만든 자바 & DB 연결을 통해서 자바 -> DB 쪽으로 SQL 문을 전송!
DB는 처리 결과를 다시 자바 쪽으로 전달!
바로 이 역할을 하는 객체가 Statement 이다. ( JAVA -> DB & DB -> JAVA )
Statement stmt = null;
//Statement 객체를 생성하려면 Connection 객체가 제공하는 createStatement( ) 메소드를 사용
stmt = conn.createStatement();
2) PreparedStatement
를 이용한 쿼리 실행
1) ResultSet
executeQuery( ) 메소드에서 실행된 select 문의 결과값을 가지고 있는 객체
ResultSet rs = null;
rs = stmt.executeQuery("실행 할 SQL 문")
ResultSet은 Cursor(커서) 라는 개념을 가지고 있는데,
현재 실행되는 테이블의 '위치'를 나타내는 개념이다.
그 중 rs.next() 라는 메소드는 :
ResultSet 의 getter 메소드도 중요한데,
현재 이동한 커서의 '컬럼 값'을 데이터 타입에 따라 추출하는 getter 메소드들이다.
컬럼의 이름이나 인덱스 값으로 불러온다.
DB 처리 작업을 하면서 사용한 객체들을 닫아주기.
rs.close( )
stmt.close( ) / pstmt.close( )
conn.close( )