디지털 양피지/WebJava2016. 5. 16. 14:52


Java Project 1일차


Java Project를 위한 환경 설정과 JDBC 진행.


1. 환결 설정


아래와 같은 순서로 프로그램을 설치한다.

1. JDK, JRE

2. Eclipse

3. Tomcat

4. Oracle DB


2. Java Project 시작(Eclipse)


Eclipse 실행우 아래와 같이 JDBCProject를 만들어 본다.




Web project를 실행하기 위해서는 WebContent에 내용을 추가 해주어야 한다.

Webcontent에 JSP 파일을 추가하고 코드를 생성해 주면 된다.



아래와 같이 Hello World를 찍어보자.



웹 실행은 Ctrl+F11 로 실행 후 Tomcat 7.0 Server를 선택한다.(Tomcat의 위치는 찾아서 설정해 주어야 한다.)


실행 화면이 아래와 같이 보이는 것을 확인할 수 있다.




3. 오라클 설치 및 기본 구성


1. system/manager로 로그인


아래와 시작/오라클/홈페이지로 이동해서 system/manager로 로그인 한다.

로그인 후 /관리를 클리하고 HR을 선택한다.



이때 계정이 잠겨 있으므로 아래와 같이 개정의 암호를 설정하고 계정 상태를 잠금->잠금해제로 변경한다.

이후 Table 생성을 위하여 Oracle 명령 줄 실행을 클릭하고 hr 계정으로 로그인 한다. 

$> conn hr/hr 




아래와 같이 만들어 놓은 table script를 이용하여 table 을 생성한다.






4. JDBC

JDBC는 특정 DBMS와의 비종속적인 DB 연동 프로그램 개발을 위해 제공되는 자바 표준 API(java.sql) 패키지다.

java.sql 패키지는 다른 패키지와는 다르게 대부분 인터페이스로 구성되어 있다. Driver 만 교체하면 API 는 같은 방식으로 사용하는 것이다.


일반적으로 JDBC와 연결하기 위해서는 다음과 같은 절차들을 필요로 한다.

아래와 같이 InsertBoardTest 라는 class를 만들고 jdbc로 연결해 보자.

순서는 다음과 같다.

1. Driver 객체 로딩

2. Connection 객체 획득

3. Statement 객체 획득

4. SQL 명령 전송

5. Connection 해제


위의 파일은 그냥 실행하면 실행이 되지 않는다. Oracle JDBC 라이브러리를 추가해 주어야 한다.

Oracle의 Driver는 다음의 위치에 있다. 아래의 위치에서 ojdbc14.jar를 옮겨 준다.



WebContent의 WEB-INF/lib에 복사해 넣는다. 그러면 Project의 Libraries/Web App Libraries에 ojdbc14.jar가 생성 된것을 확인할 수있다.


이렇게 jar를 파일을 등록하면 아래와 같은 package들을 가지게 되는데 이것은 java.sql의 Interface를 상속 받아 만든 implementation class 들을 볼 수 있다.

즉, 


JDBC의 절차를 보면 Driver를 DriverManager에 등록하고 Connection을 얻은 후 사용하면 된다.

아래 그림과 같이 구성되어 있으며 각각의 기능은 다음과 같다.


1. DriveManager Class: DriverManager는 DBMS에서 제공하는 Driver를 관리한다. DriverManager를 통해서 Connection 객체를 얻을 수 있다.

2. Connection : 특정 DBMS와 연결된 객체다.

3. Statement: 작성된 SQL 명령어를 DBMS에 전달해주는 객체로서, Connection으로 부터 획득한다.

4. ResultSet: SELECT 명령어의 실행 결과인 검색 결과가 저장되는 객체로서, Statement의 executeQuery() 메소드를 통해서 획득한다.

5. JDBC Connection


Connection 획득에 가장 중요한 것은 JDBC URL 인데사용한느 DBMS에 따라 달라지는데 적적한 URL을 등록해야 한다.

jdbc:oracle:thin:@localhost:1521:xe


jdbc: jdbc 프로토콜을 이용한다.

oracle:thin: oracle DBMMS에 thin driver를 통해 연결

@localhost: localhost 서버

1521: 포트번호

xe: xe라는 DB에 접속


MySQL과 Oracle의 URL 정보는 아래 그림과 같다.

6. Statement 생성


Statement 보다 효율적이고 빠른 PreparedStatement를 사용한다.

1. executeQuery(String sql): SELECT 명령어를 전송하고 ResultSet 객체를 Return 한다.

2. executeUpdate(String sql): INSERT, UPDATE, DELETE, 명령어를 전송한다.


아래 예제에서는 sql을 통해 update하는 것을 보여준다. 이때 ? 의 순서에 따라 값을 넣어 주면 된다.


7. ResultSet 받기


executeQuery로 수행한 결과는 ResultSet으로 받는다.

ResultSet의 구조는 아래와 같다. ResultSet을 처음 받았을때 Cursor는 Before First Row에 위치하고 있으므로 next()를 통해 data가 있는지 확인해야 한다.




컬럼의 이름은 대소문자를 구분하지 않고, 1,2, 와 같이 순서대로 가져 올 수 도 있다.

하나의 정보만 가져올 수도 있다.

8. 연결해제


아래와 같이 연결 순서와 반대로 해지해야 하지만 주의할 점이 있다.

위에서의 문제점은 rs.close에서 문제가 생기면 statement와 connection해지 하지않고 exception을 실행하고 종료된다.


단축키: Ctrl+Shift+o: 잘못된 Import 제거, 추가


Posted by 빨간 양말