여기서는 오라클에 간단히 데이터를 입력/수정/삭제 테스트를 위한 샘플 소스를 보여준다. 귀찮더라고 입력해보고 실제로 되는지 꼭 확인 하시요!
1. 입력 테스트 소스
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertTest {
public static void main(String[] args) {
//1. 4가지 정보
String driver ="oracle.jdbc.driver.OracleDriver"; // ojdbc6_g.jar 파일내의 핵심 클래스
String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보
String userid = "user01";
String passwd = "1234";
//2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)
//문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//3. Connection 맺기(DB 연결)
Connection con = null;
PreparedStatement pstmt = null;
try {
con = DriverManager.getConnection(url,userid,passwd);
//4. SQL문 작성 *주의* Java코드는 ; 안함
String sql = "insert into person ( per_no, name,age,address) values( ?, ?, ?, ?) "; //?는 값을 나중에 입력한다는 뜻
//5. sql문 전송하는 객체인 PreparedStatement 생성
pstmt = con.prepareStatement(sql);
//6. ?에 값설정
pstmt.setInt(1, 1); //1부터 시작
pstmt.setString(2, "유재석"); //1부터 시작
pstmt.setInt(3, 44);
pstmt.setString(4, "서울");
//7. sql 전송
/* 전송메소드는 2가지가 있다.
*
* (1) ResultSet rs = pstmt.executeQuery()
* -select 문에서 사용
* -ResultSet는 select문의 실행된 결과를 참조하는 객체.
*
*
* (2) int n = pstmt.executeUpdate()
* - insert , delete, update 문에서 사용
* - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.
*/
int n = pstmt.executeUpdate();
if(n==1){
System.out.println("성공");
}else{
System.out.println("실패");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
// Connection, PreparedStatment 자원을 반납
// 실행 역순으로 반납
try {
if(pstmt != null) pstmt.close();
if(pstmt != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2. 수정 테스트 소스
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateTest {
public static void main(String[] args) {
//1. 4가지 정보
String driver ="oracle.jdbc.driver.OracleDriver"; // ojdbc6_g.jar 파일내의 핵심 클래스
String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보
String userid = "user01";
String passwd = "1234";
//2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)
//문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//3. Connection 맺기(DB 연결)
Connection con = null;
PreparedStatement pstmt = null;
try {
con = DriverManager.getConnection(url,userid,passwd);
//4. SQL문 작성 *주의* Java코드는 ; 안함
String sql = "update person set age = ?, address = ? where name= ?"; //?는 값을 나중에 입력한다는 뜻
//5. sql문 전송하는 객체인 PreparedStatement 생성
pstmt = con.prepareStatement(sql);
//6. ?에 값설정
pstmt.setInt(1, 35); //1부터 시작0
pstmt.setString(2, "경기");
pstmt.setString(3, "유재석");
//7. sql 전송
/* 전송메소드는 2가지가 있다.
*
* (1) ResultSet rs = pstmt.executeQuery()
* -select 문에서 사용
* -ResultSet는 select문의 실행된 결과를 참조하는 객체.
*
*
* (2) int n = pstmt.executeUpdate()
* - insert , delete, update 문에서 사용
* - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.
*/
int n = pstmt.executeUpdate();
if(n==1){
System.out.println("성공");
}else{
System.out.println("실패");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
// Connection, PreparedStatment 자원을 반납
// 실행 역순으로 반납
try {
if(pstmt != null) pstmt.close();
if(pstmt != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3. 삭제 테스트 소스
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DeleteTest {
public static void main(String[] args) {
//1. 4가지 정보
String driver ="oracle.jdbc.driver.OracleDriver"; // ojdbc6_g.jar 파일내의 핵심 클래스
String url = "jdbc:oracle:thin:@localhost:1521:xe"; //DB가 설치된 정보
String userid = "user01";
String passwd = "1234";
//2. 드라이버 로딩(OracleDriver 메모리에 올리는 작업)
//문자열 형태의 클래스를 메모리에 올리는 방법. (new 사용안함)
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//3. Connection 맺기(DB 연결)
Connection con = null;
PreparedStatement pstmt = null;
try {
con = DriverManager.getConnection(url,userid,passwd);
//4. SQL문 작성 *주의* Java코드는 ; 안함
String sql = "delete from person where name=?"; //?는 값을 나중에 입력한다는 뜻
//5. sql문 전송하는 객체인 PreparedStatement 생성
pstmt = con.prepareStatement(sql);
//6. ?에 값설정
pstmt.setString(1, "유재석"); //1부터 시작
//7. sql 전송
/* 전송메소드는 2가지가 있다.
*
* (1) ResultSet rs = pstmt.executeQuery()
* -select 문에서 사용
* -ResultSet는 select문의 실행된 결과를 참조하는 객체.
*
*
* (2) int n = pstmt.executeUpdate()
* - insert , delete, update 문에서 사용
* - n 값은 실행된 레코드 갯수 ex) n개의 행에 적용되었습니다.
*/
int n = pstmt.executeUpdate();
if(n==1){
System.out.println("성공");
}else{
System.out.println("실패");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
// Connection, PreparedStatment 자원을 반납
// 실행 역순으로 반납
try {
if(pstmt != null) pstmt.close();
if(pstmt != null) con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
'데이터베이스' 카테고리의 다른 글
eclipse + Oracle 연동 및 테스트 (0) | 2017.01.05 |
---|