2015 IT 웹 기반 개발자과정/JDBC
JDBC Oracle DB연동 및 해제 클래스 만들기 / 사용하기
by 한여름밤의코딩
2015. 11. 25.
//오라클 DB 연동되는 클래스와 메소드
package kr.ac.jnu.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ConnectionFactory {
public Connection getConnection(){
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "hr";
String password = "hr";
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public void close(Connection conn, PreparedStatement pstmt ){
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//============================================================
//오라클 DB연동 해제해주는 클래스와 메소드
package kr.ac.jnu.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCClose {
public static void close(Connection conn, PreparedStatement pstmt) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(PreparedStatement pstmt) {
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//============================================================
// 생성한 유틸클래스를 이용하여 오라클 DB연동 및 해제하기
package kr.ac.kr.jnu.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.Scanner;
import kr.ac.jnu.util.ConnectionFactory;
import kr.ac.jnu.util.JDBCClose;
// CREATE TABLE t_test (
// id varchar2(20) primary key,
// name varchar2(40) not null
// );
public class InsertMain {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
Scanner sc = new Scanner(System.in);
try {
ConnectionFactory factory = new ConnectionFactory();
conn = factory.getConnection();
StringBuilder sql = new StringBuilder();
sql.append("insert into t_test(id, name) values(?,?)");
pstmt = conn.prepareStatement(sql.toString());
System.out.println("아디");
String id = sc.nextLine();
System.out.println("이름");
String name = sc.nextLine();
pstmt.setString(1, id);
pstmt.setString(2, name);
int cnt = pstmt.executeUpdate();
System.out.println(cnt + "행 입력");
sql.append("select * from t_test");
pstmt = conn.prepareStatement(sql.toString());
ResultSet rs = pstmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
while (rs.next()) {
System.out.printf("%-2s : %-10s %-4s : %-10s \n", rsmd.getColumnName(1), rs.getString(1),
rsmd.getColumnName(2), rs.getString(2));
}
} catch (Exception e) {
JDBCClose.close(conn, pstmt);
sc.close();
}
}
}
//============================================================