Database
<Database> JDBC 활용_1
춘햄
2021. 4. 5. 18:06
Oracle의 JDBC 라이브러리를 활용하여 JAVA에서 DBMS를 조작할 수 있다. 하지만 그 전에 데이터베이스 연동에 꼭 필요한 OracleDriver 클래스의 위치를 정확하게 파악하고 있어야 한다.
JAVA에서 Database에 접속하는 순서는 다음과 같다.
더보기
1) 드라이버 로딩: "oracle.jdbc.driver.OracleDriver"
2) 드라이버 매니저를 이용하여 DB에 접속하고, Connection객체 가져오기
접속 주소: "jdbc:oracle:thin:@127.0.0.1:1521:XE"
Connection 객체: Connection conn = DriverManager.getConnection(url, "name", pwd");
3) SQL 명령어를 실행시키기 위한 객체 생성
- Statement : 단순 문자열의 쿼리를 실행할 때
- PreparedStatement: 변수를 포함해야하는 쿼리를 실행할 때
4) 원하는 작업 수행
4. 원하는 작업 수정, 삭제, 조회, 추가하기
-> ResultSet 객체의 next() 메서드를 이용하여 레코드를 한줄씩 읽을 수 있다.
간단한 예제를 만들어 보면,
○JDBC_CLASS:
package com.choonham;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC_Class {
public JDBC_Class() {
}
/* 오라클 데이터베이스에 접속하는 메서드*/
public static void oracleConnection() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver"); //forName메서드로 드라이버를 로딩
System.out.println("드라이버 로딩 성공!");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE"; // Localhost의 접속 주소
Connection conn = DriverManager.getConnection(url, "choonham", "6725"); //userName 과 password 로 로그인
System.out.println("접속 성공!!");
Statement stmt = conn.createStatement(); //쿼리문을 실행하기 위한 객체
String query = "select * from member";
ResultSet rs = stmt.executeQuery(query); //쿼리문을 실행, ResultSet객체를 반환
System.out.println("쿼리문 실행 완료!");
ResultSetMetaData rsmd = rs.getMetaData(); //메타 데이터 영역(필드명) 값 가져오기
int num = rsmd.getColumnCount(); //조회한 필드의 갯수를 얻을 수 있음
System.out.println("조회된 테이블의 컬럼의 개수: " + num);
// 컬럼의 인덱스 번호는 1번부터 시작한다.
System.out.println(rsmd.getColumnName(1));
System.out.println(rsmd.getColumnName(2));
System.out.println(rsmd.getColumnName(3));
//System.out.println(rsmd.getColumnName(0)); //에러
//결과 레코드 값 가져오기
while(rs.next()) {
System.out.println(rs.getString(1) + " : " + rs.getString(2) + " : " + rs.getString("pwd"));
//getString메서드는 컬럼의 인덱스, 필드명 둘 다 사용이 가능하다.
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.print("드라이버 로딩 실패: " + e.getMessage());
} catch(SQLException e) {
System.out.print("DB 접속에 실패했습니다." + e.getMessage());
}
}
}
○output:
이렇게 간단한 코드 몇줄로 JAVA와 Database를 연결할 수 있다.