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();
}
}
'DATA BASE' 카테고리의 다른 글
설계 - 데이터 모델링 (0) | 2020.04.23 |
---|---|
DB 연결된 Java에서 변수, 배열, 객체, 객체배열에 Data담아서 출력하기 + 맴버 변수에 직접 접근하지 않는 것 까지 수정해봄. (0) | 2020.04.22 |
SQL 내장 함수 숫자, 문자, 날짜, 시간 (0) | 2020.04.16 |
관계 데이터 모델 (0) | 2020.04.16 |
복습 DDL(creat, alter, drop), DCL(insert, update, delete) (0) | 2020.04.16 |