system
계정으로 생성해야 한다.sqlplus system/비밀번호
create user [id] identified by [pw];
grant connect, resource to [id];
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost(외부주소일 경우 IP주소):1521(포트주소):xe(db)"; // (목적지:Oracle DB)
DriverManager.getConnection(url, user, password);
Connection conn = null; // 활용할 드라이버 String driver = "oracle.jdbc.driver.OracleDriver"; // 목적지 String url = "jdbc:oracle:thin:@localhost:1521:xe"; // dbms 계정명, 비밀번호 String user = "jsp"; String password = "jsp"; Class.forName(driver); conn = DriverManager.getConnection(url,user,password);
PreparedStatement pstm = conn.prepareStatement(sql);
?
로 처리하고 PreparedStatement에 값을 set
할 수 있다.ptsm.setString(인덱스, 값)
ptsm.setInt(인덱스, 값)
- 예시
String sql = "SELECT age FROM MEMBER WHERE NAME=?"; PreparedStatement pstm = conn.prepareStatement(sql); pstm.setString(1,name);
select
구문을 수행할 때 사용한다. ResultSet을 반환한다.ResultSet rs = pstm.executeQuery();
select
구문 외의 insert, delete, update
관련 구문을 수행할 때 사용한다. 수행 결과로 반영된 레코드 건수를 int 타입으로 반환한다.int result = pstm.executeUpdate();
executeQuery()
메서드로 select
쿼리 실행 시 실행 결과가 java.sql.ResultSet
형으로 리턴된다.
next() : ResultSet 내에서 커서를 하나씩 옮긴다.
while(ResultSet.next())
형태로 사용하면 ResultSet 내에 있는 자료를 순서대로 돌며 열람한다.while(rs.next(){ ...반복할 구문... }
get자료형() : 원하는 자료형의 자료를 인덱스값이나 열이름을 통해 가져올 수 있다.
- getInt(int columnIndex) :
columnIndex
번째 컬럼의 값을 가져온다.rs.getInt(1);
- getString(String columnName) :
columnName
값을 가져온다.rs.getString("name");