본문으로 바로가기

Dynamic Web Project에서 oracle jdbc 연결하기

category Programing/JSP 2020. 4. 9. 21:32
반응형

JSP로 게시판만들기를 공부하고 있는데, 해당 강좌에는 MySQL을 이용하여 DB를 구축한다.

하지만 나는 Oracle이 편하다.

그동안 계속 Oracle을 사용해왔고, 현업에서도 오라클을 주로 사용한다.

그래서 MySQL 대신 Oracle DB를 구축해서 사용하고 싶었다.

 

게다가 개인 NAS 장비에 Oracle DB를 구축해서 구동중이다.

 

JSP로 게시판을 만들다 보면 DAO를 필요로한다.

회원가입, 삭제 등의 데이터 등을 다뤄야 하기 때문.

 

Oracle DB를 이용한 jdbc 연결은 아래와 같은 소스를 통해서 구현 가능하다.

 

public class UserDAO1 {
	private Connection conn;
	private PreparedStatement pstmt;
	private ResultSet rs;

	public UserDAO1() {

		final String url = "jdbc:oracle:thin:@localhost:xe";
		final String id = "root"; // DB사용자계정
		final String pw = "root"; // PASSWORD

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			conn = DriverManager.getConnection(url, id, pw);
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

여기서 주목해야 할 것은 url이다.

url = "jdbc:oracle:thin:@localhost:xe";

jdbc는 oracle 드라이버를 사용할 것이고 localhost 자리엔 IP를 넣어주면 된다.

xe는 Oracle DB의 sid를 넣어주면 된다.

id는 사용자 계정, pw = 사용자패스워드를 입력하면 된다.

 

여기서 중요한 것.

oracle 을 사용시에는 jdbc 드라이버를 oracle jdbc 드라이버를 라이브러리에 넣어줘야한다.

해당 jdbc 라이브러리는 아래의 위치에 넣어준다.

다운받은 jdbc.jar 라이브러리를 복사해서 lib 폴더 밑에 붙혀넣기 하면 된다. Ctrl + c --> Ctrl + V

그리고나서, 프로젝트 우클릭 -> Build Path -> Configure Build Path에서

Libraries 에서 Add JARS...를 클릭

반응형

Add JARS...를 클릭하여 JAR Selection 창이 나타나면 아까 붙혀넣은 ojdbc.jar 를 선택한다.

이후 Apply 를 눌러서 적용해주면 끝

 

이렇게 jdbc 연결을 해주고, 이를 이요해서 아래와 같이

PreparedStatement 나 ResultSet을 사용하면 된다.

 

public int login(String userID, String userPassword) {
		String SQL = "SELECT userPassword From USERS where userID = ?";

		try {
			pstmt = conn.prepareStatement(SQL);
			pstmt.setString(1, userID);
			rs = pstmt.executeQuery();

			if (rs.next()) {
				if (rs.getString(1).equals(userPassword)) {
					return 1; // 비밀번호 일치
				} else
					return 0; // 비밀번호 불일치
			}
			return -1;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return -2; // DB오류

	}

위 연결부에서 Connetion을 conn에 할당하였기에 

conn.prepareStatement(); 를 통하여 SQL 문을 실행하고 ResultSet으로 결과를 받아 사용할 수 있다.

 

jdbc 드라이버는 아래 링크에서 다운받을 수 있다.

 

jdbc드라이버 다운로드

 

 

반응형