본문으로 바로가기

데이터 베이스 < Java DB 연동 >

category 프로그래밍 공부 2022. 4. 25. 11:17
728x90
반응형

1.쿼리를 사용하기 위해 자바를 데이터 베이스와 연동시킨다.

 

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class InsertTest {
Connection con = null;
Statement st =null;//쿼리 문장을 생성
// DB 연결
// 오라클 url 경로
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String DRIVER = "oracle.jdbc.OracleDriver";

public InsertTest() {
try {
Class.forName(DRIVER);
System.out.println("드라이브 로드 성공");
con = DriverManager.getConnection(url, "scott", "tiger");
System.out.println("DB 연결 성공");
} catch (ClassNotFoundException e) {
System.out.println("드라이브를 찾을 수 없습니다." + e.getMessage());
} catch (SQLException e) {
System.out.println("DB 접속 에러" + e.getMessage());
} /*finally {
if (con != null)
try {
con.close();
} catch (SQLException e) {
}
}*/
}

public int insertData(int empno, String ename,double sal) {//"+empno+"//'+"ename"+'//"+sal+" 
String sql = "INSERT INTO emp(empno,ename,sal) VALUES("+empno+",'"+ename+"',"+sal+")";
int result = 0;
try {
st = con.createStatement(); //st가 쿼리 문장을 가져옴 
result=st.executeUpdate(sql); //executeUpdate : insertupdate,delete // 사용 용도

} catch (SQLException e) {
System.out.println("데이터 입력 상태:"+e.toString());
}/*finally {
try {
if(st!=null)st.close();
if(con!=null)con.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}*/
     return result;
//작은 따옴표 ''는 문자일 떄 바깥 부분에 사용한다.
//자바에서 Statement는 Query 문장을 생성
}

public static void main(String[] args) {
InsertTest insert = new InsertTest();// 생성자 메소드에게 DB연결
Scanner sc = new Scanner(System.in);
// 키보드로 값 입력
System.out.print("사원번호:");
int empno = sc.nextInt();
sc.nextLine();
System.out.print("사원이름:");
String ename = sc.nextLine();
System.out.printf("월급:");
Double sal = sc.nextDouble();

int res = insert.insertData(empno, ename, sal);
        System.out.println("결과 값:"+res);
        if(res>0)
         System.out.println("데이터 추가 성공");
        else
         System.out.println("데이터 추가 실패");
}
}

 

출력 값

드라이브 로드 성공
DB 연결 성공
사원번호:100
사원이름:jdbc
월급:2000
결과 값:1
데이터 추가 성공

--------------------- 꼭 외워두기

  Connection : DB를 연결하는 역활
  Statement : 쿼리를 만들어주는 역활
  ResultSet : DB테이블을 똑같이 만들어주는 클래스

---------------------

 

싱글톤 활용법

public InsertSingleTonTest() {
con = DBSingleTon.getInstance();  //데이터 베이스에서 값을 가져온다고 생각하면 된다.
}

//connection = con

con은 데이터베이스와 연결

getgetInstance로 데이터베이스에서 값을 불러옴

----------------------------------------------------------

익스큐트업데이트  -> 입력,삭제 ,업데이트  자바에서 테이블에 저장

익스큐드쿼리 -> 데이터 베이스 조회-> 자바로 전달

----------------------------------------------------------

 

728x90
반응형