728x90
반응형
SMALL
JDBC JAR파일 추가방법
ojdbc.jar 프로젝트에 추가.
build path - configure build path - c - oraclexe - ap - product - jdbc - jdbc6.jar추가
Insert
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Ex01_insert {
public static void main(String[] args) {
//JDBC 연결 순서
//0. ojdbc.jar 프로젝트에 추가.
// : build path - configure build path - c - oraclexe - ap - product - jdbc - jdbc6.jar추가
//1. 드라이버 로딩
//2. 데이터베이스 연결
//3. 쿼리문 실행
//4. 연결 종료
//JDBC Driver 동적 로딩
//동적로딩 : 프로그램 실행되면 그 즉시 타입이 결정되는 것
//★자바의 오류 2가지★
//1. 컴파일 오류 - Syntax error -> 문법적 오류
//2. 런타임 오류 - 문법적인 오류는 없지만 실행하면 그 즉시 오류발생
//동적로딩을 위해서 메소드를 불러오기
try { //예외처리를 하기위한 문법 = 일단 해봐
Class.forName("oracle.jdbc.driver.OracleDriver");
//oracle.jdbc.driver - 패키지명
//OracleDriver - 클래스명
//2. Database 연결
//DB에 접근하기 위해서 변수를 사용해 DB url, id, pw 정리하고 사용
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
//jdbc:oracle:thin -> oracle thin driver 사용
//127.0.0.1 -> localhost
//1521 -> Port Number
//xe -> DB 별칭
String id = "hr";
String pw = "hr";
//Java, DB 왔다갔다 하면서 데이터 저장, 전송 -> Connection 객체 생성
//여권처럼 db접근 가능한지 정보들 검사
//ID,PW 맞다면 ok, 안맞다면 failed
Connection conn = DriverManager.getConnection(url, id, pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
//3. SQL문 전송.
String sql = "INSERT INTO MEMBER values('Mercury','0905','조정은',23)";
PreparedStatement psmt = conn.prepareStatement(sql);
//PreparedStatement역할 : sql문 전달해주는 역할.
//자바, db 왔다갔다 하는 객체 -> conn.
//sql문 실행
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("insert 성공");
}
else {
System.out.println("insert 실패");
}
//4. 종료
//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}
catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임
System.out.println("드라이버 오류");
e.printStackTrace();
} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
System.out.println("sql 오류");
e.printStackTrace();
}
}
}
Update
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Ex02_update {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String id = "hr";
String pw = "hr";
Connection conn = DriverManager.getConnection(url, id, pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
String sql = "UPDATE MEMBER SET pw='9120' where id = 'Mercury'";
PreparedStatement psmt = conn.prepareStatement(sql);
//CRUD
//C : Create R : Read U : Update D : Delete
//executeUpdate : Insert, Delete, Update
//executeQuery : Select(조회)
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("update 성공");
}
else {
System.out.println("update 실패");
}
//4. 종료
//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
if(psmt != null) {
psmt.close();
}
if(conn != null) {
conn.close();
}
}
catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임
System.out.println("드라이버 오류");
e.printStackTrace();
} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
System.out.println("sql 오류");
e.printStackTrace();
}
}
}
Delete
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Ex03_delete {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement psmt = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String id = "hr";
String pw = "hr";
conn = DriverManager.getConnection(url, id, pw);
if(conn != null) {
System.out.println("연결 성공");
}
else {
System.out.println("연결 실패");
}
String sql = "DELETE FROM MEMBER where id = 'Mercury'";
psmt = conn.prepareStatement(sql);
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("delete 성공");
}
else {
System.out.println("delete 실패");
}
if(conn != null) {
System.out.println("DB연결 성공");
}
else {
System.out.println("DB연결 실패");
}
}
catch (ClassNotFoundException e) { //실행시 오류가 발생하면 catch문 오류를 잡을 수 있따
//여기서 오류가 발생하면, ojdbc6.jar 파일추가가 안된거임
System.out.println("드라이버 오류");
e.printStackTrace();
} catch (SQLException e) { //여기서 오류가 난다면, DB정보 확인
System.out.println("sql 오류");
e.printStackTrace();
}
finally {
//4. 종료
//종료 순서 : 가장 마지막에 열어주었던 걱채부터 역순으로 닫아주기
try {
if(psmt != null) {
psmt.close();
}
}catch (SQLException e) {
e.printStackTrace();
}
try {
if(conn != null) {
conn.close();
}
}catch (SQLException e) {
e.printStackTrace();
}
}
}
}
728x90
반응형
LIST
'스마트인재개발원 > 자바' 카테고리의 다른 글
[자바/DB] JDBC - 메소드 이용하여 구현하기 (0) | 2022.09.27 |
---|---|
[자바/DB] JDBC - 정보 입력 받아 출력 및 수정 (0) | 2022.09.27 |
[객체 배열] 배열에 담아 학생의 점수 합계,평균 구하기 (0) | 2022.09.22 |
[자바]약수 구하기 (0) | 2022.09.19 |
[자바] 치환/ 버블정렬 (0) | 2022.09.16 |