본문 바로가기

DATA BASE

자바랑 DB연동

jar = zip

jar 묶어주는 역할

ojdbc.jar

 

컴퓨터 윈도우 깔고 드라이버 설치한다  할 때

드라이버 : 

 

os -window 10 , 메모리 할당, 장치들 관장, 하드웨어 관리

하드웨어 -H/W-GPU(그래픽카드)

DB(오라클) 

 

운영체제에게 하드웨어있는거 알려주기 위해서 드라이버 설치해야 함.

이것처럼 DB + Java application 사용하기 위해서

자바한테 DB를 알려주면서 사용법, DB가 자바와 호환 등등을 위해서 제공하는 것

오라클 홈페이지에서 제공해준다~! ojdbc.jar 드라이버가 필요하다!

 

 

자바에서 하는 일 3가지

 

1. Connection(연결)

2. ResultSet(질의문)

ex)select, insert...

3. Reasult Set(결과 집합 응답)

자바에서 class로 

 

 

 

 

 

package booklist;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class booklist {
	Connection con;

	public booklist() {
		String url = "jdbc:oracle:thin:@localhost:1521:XE";
		// 11g express edition 은 orcl 대신 XE 를 입력한다.
		String userid = "c##madang";
		String pwd = "c##madang";

		// 드라이버를 찾는 과정
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			System.out.println("드라이버 로드 성공");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		// 데이터베이스를 연결하는 과정
		try {
			System.out.println("데이터베이스 연결 준비");
			con = DriverManager.getConnection(url, userid, pwd);
			System.out.println("데이터베이스 연결 성공");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private void sqlRun() {
		String query = "SELECT * FROM Book"; // SQL문
		try {
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery(query);
			System.out.println("BOOK NO \tBOOK NAME \t\tPUBLISHER \tPRICE");
			while (rs.next()) {
				System.out.print("\t" + rs.getInt(1));
				System.out.print("\t" + rs.getString(2));
				System.out.print("\t\t" + rs.getString(3));
				System.out.println("\t" + rs.getInt(4));

			}

			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

	public static void main(String[] args) {
		booklist so = new booklist();
		so.sqlRun();
	}

}

 

 

 

 

 

 

 

코드를 좀 더 구조적으로 바꾸고 싶어지기 위해서 2개의 테이블 가져와서 출력해보기!

 

package booklist;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class booklist {
	Connection con; //멤버 변수

	public booklist() {
		String url = "jdbc:oracle:thin:@localhost:1521:XE";
		// 11g express edition 은 orcl 대신 XE 를 입력한다.
		String userid = "c##madang"; // c## 추가
		String pwd = "c##madang"; // c## 추가 

		// 드라이버를 찾는 과정
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver"); 
			System.out.println("드라이버 로드 성공");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		// 데이터베이스를 연결하는 과정
		try {
			System.out.println("데이터베이스 연결 준비");
			con = DriverManager.getConnection(url, userid, pwd);
			System.out.println("데이터베이스 연결 성공");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	private void sqlRun() {

		String query = "SELECT * FROM Book"; // SQL문

		try {
			Statement stmt = con.createStatement();
			ResultSet rs = stmt.executeQuery(query);
			System.out.println("BOOK NO \tBOOK NAME \t\tPUBLISHER \tPRICE");

			while (rs.next()) {
				System.out.print("\t" + rs.getInt(1));
				System.out.print("\t" + rs.getString(2));
				System.out.print("\t\t" + rs.getString(3));
				System.out.println("\t" + rs.getInt(4));
			}
			System.out.println();

			String query1 = "SELECT * FROM Customer"; // SQL문
			Statement stmt1 = con.createStatement();
			ResultSet rs1 = stmt1.executeQuery(query1);
			System.out.println("CUSTID \tNAME \t\tADDRESS \t\tPHONE");
			while (rs1.next()) {
				System.out.print("\t" + rs1.getInt(1));
				System.out.print("\t" + rs1.getString(2));
				System.out.print("\t\t" + rs1.getString(3));
				System.out.println("\t" + rs1.getString(4));

			}

			con.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}

	}

	public static void main(String[] args) {
		booklist so = new booklist();
		so.sqlRun();
	}

}