Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", USER, PASS)
Statement st = con.createStatement();
String query = "select emp_id, emp_name, email, salary" +
" from employee where substr(emp_no, 8, 1) in (1)";
ResultSet rs = st.executeQuery(query);
보통 이렇게 담아오면서 빈에다가 넣어줌
예를들어 테이블에 있는 컬럼 순서는 ID, PASSWORD, SALARY, ADDRESS, NAME 인데
SELECT로 ID, SALARY, NAME만을 가져왔으면
getString(3)에서는 NAME이 나옴
자바랑 데이터베이스(오라클)을 연결해서 자바로도 데이터베이스를 다룰수 있게 연결해주는 역할
PreparedStatement는 컴파일을 반복하지 않아 처리속도가 빠르고 DB에 부담이 덜 간다
executeQuery는 말그대로 쿼리문을 실행하는것, SELECT문을 돌려서 결과를 가져오는데
이 결과를 ResultSet이라는 형태로 뱉도록 되어있기 떄문에 우리가 결과를 ResultSet으로 받아오는것
executeUpdate는 SELECT문 말고 다른 실행문에 이용됨, INSERT나 UPDATE등등...
그리고 해당 결과로 수행한 갯수만큼(테이블에 INSERT한 갯수, UPDATE한 갯수)들을 뱉음
즉, 몇줄 수행했는지를 리턴함(1, 2, 3, 4,... , 수행한 결과가 없으면 0)
공통점 : 둘 다 문자열임, 자바로 따지면 String
CHAR는 고정형이라고하며 최대 2000바이트까지의 크기를 담을 수 있다, 한글은 우리가 사용하는 오라클 XE버전에서 1글자당 3바이트, 나머지 숫자나 영어는 1바이트씩
미리 선언해놓은 크기에서 모자라면 남은 크기는 공백으로 덧붙여서 선언한 크기만큼 완성시킴
EX) CHAR(12)에 '아' 라는 한글자만 넣으면 알아서 12바이트(한글4글자)가 될떄까지 붙임
'아' -> '아_ _ _ '
VARCHAR2는 가변형이라고 하며 최대 4000바이트까지 담아낼 수 있고 미리 선언한 크기보다 적게 입력하면 딱 입력한 만큼의 크기에서 끝남.(CHAR처럼 추가로 공백을 덧붙이는 경우 없음)
jdbc드라이버와 jdbc드라이버매니저의 차이
드라이버는 DB와 연결시켜주는 역할
드라이버 매니저는 드라이버들을 관리해주는 자바 내장 기능임
커넥션풀로 커넥션 만들고 거기 스테이트먼트 만들고 쿼리문 수행해서 리절트셋에 담기