자바에 오라클 DB연동을 해봅시다!
1. ojdbc를 다운받아야합니다 (https://www.oracle.com/kr/database/technologies/appdev/jdbc-downloads.html)
저는 java8 사용중으로 ojdbc8.jar을 다운받았다. ( 자바8이면 아래 jar 다운받으면 됨)
2. 라이브러리 추가해주기
프로젝트에 JRE system ... 우클릭 후 Properties를 선택하고 아래 이미지와 같이 클릭클릭! 따라간다.




다운받은 경로에있는 jar를 선택해주면 됩니다.

적용이 완료되면 아래와 같이 라이브러리가 적용된게 보인다.

자 이제 DB Connection 을 담당할 Class를 생성해주자.
DB username 과 pw를 입력하고 url은 본인이 접속하고자 하는 정보로 연결하면 된다. 나는 로컬DB로 연결~~
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBHelper {
public static Connection dbConn;
public static Connection getConnection() {
Connection connect = null;
try {
// 접속정보 설정
String user = "아이디";
String pw = "비번";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
// 드라이버 셋팅
Class.forName("oracle.jdbc.driver.OracleDriver");
// 연결!
connect = DriverManager.getConnection(url, user, pw);
System.out.println("----------OK;");
} catch (ClassNotFoundException cnfe) {
System.out.println("DB 드라이버 로딩 실패 :"+cnfe.toString());
} catch (SQLException sqle) {
System.out.println("DB 접속실패 : "+sqle.toString());
} catch (Exception e) {
System.out.println("Unkonwn error");
e.printStackTrace();
}
return connect;
}
public static void main(String[] args) {
// 연결테스트
getConnection();
}
}
자 이제 실행해보면 연결이 잘되었다면 콘솔창에 "DB Connection OK;" 문구가 출력된다.~

여기까지 잘 되었다면 이제 CRUD를 실행해보자 ~~
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class MyTest {
public static void main(String[] args) {
Connection con = null; // 데이터베이스에 접속하기 위한 변수
Statement stmt = null; // SQL 구문을 실행하기 위한 변수
ResultSet rs = null; // Select 구문 실행했을 때 결과를 저장하기 위한 변수
PreparedStatement pstmt = null; // 삽입을 위한 Statement 변수 선언
try {
/*******************************************
* DB CONNECTION
******************************************/
con = DBHelper.getConnection();
System.out.println(con);
/*******************************************
* INSERT
******************************************/
pstmt = con.prepareStatement("insert into 테이블명 (컬럼명1, 컬럼명2) values(?, ? )");
// 물음표에 들어갈 값들을 정의해준다.
pstmt.setString(1, "A1");
pstmt.setString(2, "A2");
int result = pstmt.executeUpdate();
pstmt.close();
/*******************************************
* SELECT
******************************************/
stmt = con.createStatement();
rs = stmt.executeQuery("select * from 테이블명");
while (rs.next()) {
// 컬럼 순서대로 타입에 맞춰 출력하면 된다.
// 첫번째 컬럼이 숫자 타입인 경우 rs.getInt(1)
// 두번째 컬럼이 문자 타입인 경우 rs.getString(2)
System.out.println(rs.getInt(1) + ":" + rs.getString(2));
}
;
stmt.close();
if (rs.next()) System.out.println("데이터가 없습니다.");
/*******************************************
* UPDATE
******************************************/
String tmp = "UPDATE 테이블명 SET 컬럼명 = 업데이트할 값 WHERE 조건";
pstmt = con.prepareStatement(tmp);
pstmt.executeUpdate();
pstmt.close();
/*******************************************
* DELETE
******************************************/
stmt = con.createStatement();
rs = stmt.executeQuery("delete from 테이블명 where 조건");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (con != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
만약 실행 중 에러가 발생하거나 DB에 업데이트가 안되는 경우 DB툴에서 COMMIT; 한번해주기~~
끝!
'프로그래밍' 카테고리의 다른 글
| [Spring] Google Captcha checkbox sample! (0) | 2021.10.20 |
|---|---|
| Javascript While 문 일정시간 지연시키기!! (0) | 2021.08.18 |
| [ORACLE] UPDATE 문에 ORDER BY 사용하기 (0) | 2021.06.24 |
| [jQuery] name*=”value” 선택자 사용법! (0) | 2021.06.08 |
| [SpringBoot] Summernote 이미지 다중 업로드! (0) | 2021.04.06 |