오라클 설치
오라클 연결
드라이버 추가
project - Build Path - Configure Build Path - Adds external Jars
자바가 데이터 베이스 접속하는 순서
1.드라이버 로딩
=> "oracle.jdbc.driver.OraclDriver"
Class.forName("oracle.jdbc.driver.OracleDriver");
2.드라이버매니저를 이용하여 DB접속하고 Connection 객체 가져오기
=> String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
thin : 무료 버전
XE => express버전이기 때문에
IP 주소 : 집에서 실행시켰기 때문에 127.0.0.1
포트번호 : 1521 -> 회사마다 다를 수도 있다.
Connection conn = DriverManager.getConnection(url,"계정","비밀번호");
3.SQL명령어(쿼리 : Query)를 실행시키기 위한 객체를 Connection 객체로 부터 얻어오기
(Statement, PreparedStatement,...)
=> Statement : 단순 조회할 때 사용(select)
순수 문자열로 쿼리를 사용할 때 자주 사용 => "select * from member";
PreparedStatement : 조건을 이용하여 조회(select) 삽입(insert into) 수정(update set) 삭제(delete from)
쿼리문과 변수가 혼합될 경우
예)
String n = "testID";
String query = "select * from member where userID=n"; <= 여기서의 n은 변수가 아니라 문자 n이 되버린다.
String query = "select * from member where userID="+n;
=> select * from member where userID=testID 이렇게 되버린다. =>
select * from member where userID='testID'; // 이런 형태를 가져야한다.
4.원하는 작업 수정,삭제, 조회,추가하기
ResultSet 객체의 next() 메소드를 이용하여 record를 한개씩 읽어낼 수 있다.
next()메소드 : 반환타입 Boolean
rs.getString("필드(컬럼)명); => rs.getString("name");
rs.getString(필드(컬럼)명의 index) => rs.getString(1); => 1부터 시작, 0을쓰면 인덱스 에러
행은 0부터 시작이지만 열은 1부터 시작이다.
예제).
문제1. 주어진 파일을 이용하여 데이터베이스에 저장한 후, 저장된 파일을 html파일로 출력
문제2. 셀프 가능 주요소 개수와 비 셀프 주유소의 개수 파악.
내 생각)
문제에 나온대로 데이터들을 오라클에 넣어 저장 시켜뒀고 JDBC_Class를 만들어 오라클과 연동을 시켜줬다.
연동 후에 나온 데이터들은 하나의 문자열 형태로 나오기 때문에 인덱스 구분이 필요하다고 생각했다.
새로운 배열 변수를 만들어서 "\n"기준으로 분할 시켜 변수에 데이터를 저장했는데... ArrayIndexBoundException이 나오네...어찌해서 저 에러는 해결했는데 이번에는 데이터를 다 읽어들인 후 마지막줄에 한줄을 더 읽는다..
데이터베이스에서 꺼낸값을 DataClass에 저장하기 위하여 객체 생성도 해놨고
데이터를 꺼내기 위한 OilBankClass도 만들어 각각의 데이터 타입에 맞게 생성자를 생성해 놨다.
근데 해보니까 저 2개의 클래스는 쓰질않아서 필요없는거 같다.
내일 오전에 문제풀이니... 그때까지 다시 생각해보자
'Learn > KH정보교육원' 카테고리의 다른 글
[KH정보교육원 당산] 21일차 (오라클과 엑셀 파일을 이용한 실습 - cafe HTML) (0) | 2021.04.07 |
---|---|
[KH정보교육원 당산] 20일차 (오라클과 엑셀파일을 이용한 실습 - 주유소) (0) | 2021.04.06 |
[KH정보교육원 당산] 18일차 ( socket예제 - 퀴즈 만들기) (0) | 2021.04.02 |
[KH정보교육원 당산] 연습문제 2 (네트워크) (0) | 2021.04.01 |
[KH정보교육원 당산] 17일차 ( 네트워크 , URL, Socket) (0) | 2021.04.01 |