JDBC Test in Oracle


Java 프로그램과 연결할 때 사용할 JDBC Driver는 설치된 Oracle 디렉토리에서 검색해보면 해당 오라클 버전의 JDBC Driver를 찾을 수가 있다. 만약 찾지 못하면 아래에서 다운로드할 수 있다.

ojdbc14.jar


package web.jdbc.test;
import java.sql.*;

public class OracleTest {
	public static void main(String[] args)  {
		// 데이터베이스 연결관련 변수 선언
		Connection conn = null;
		Statement stmt = null;

		// 데이터베이스 연결관련정보를 문자열로 선언
		String jdbc_driver = "oracle.jdbc.OracleDriver";
		String db_url = "jdbc:oracle:thin:@211.183.3.5:1521:ORCL";

		try{
			// JDBC 드라이버 로드하여 DriverManager에 등록함
			Class.forName(jdbc_driver);

			// 로드된 드라이버를 이용하여 DB와 연결하고 Connection 인스턴스 구함
			conn = DriverManager.getConnection(db_url,"user09","user09");

			// Connection 객체로 부터 SQL문 작성을 위한 Statement 준비
			stmt = conn.createStatement();

			ResultSet rs = stmt.executeQuery("select * from emp");
			while(rs.next()) {
				System.out.println(rs.getString(1)+" " +rs.getString(2)+" " +rs.getString(3)+" " +rs.getString(4)+" " +rs.getString(5));
			}
			rs.close();
			stmt.close();
			conn.close();
		}
		catch(Exception e) {
			System.out.println(e);
		}
		System.out.println("테스트 끝");
	}
}



오라클 디비랑 잘 연결 되어서 요렇게 출력된다~~







DAO - data access object

DTO - data transfer object

ORM - (Object-relational mapping)








oracleTest.jsp
<%@page import="web.jdbc.test.Employee"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean id="dao" class="web.jdbc.test.EmpDAO"/>
<%
	ArrayList<Employee> list = dao.getAllEmps();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>오라클 접속 테스트</title>
</head>
<body>
<ol>
<%
	for(int i=0;i<list.size();i++){
		Employee emp = list.get(i);%>
		<li><%=emp.getEmpno() %> / <%=emp.getEname() %> / <%=emp.getDeptno() %>
	<%}
%>
</ol>
</body>
</html>
Employee.java
package web.jdbc.test;

public class Employee {
	
	private int empno; //사원번호
	private String ename;//사원이름
	private int deptno;//부서번호
	private String hiredate;//고용날짜
	private int sal;//봉급
	private int mgr;//매니져
	
	public int getEmpno() {
		return empno;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String eanme) {
		this.ename = eanme;
	}
	public int getDeptno() {
		return deptno;
	}
	public void setDeptno(int deptno) {
		this.deptno = deptno;
	}
	public String getHiredate() {
		return hiredate;
	}
	public void setHiredate(String hiredate) {
		this.hiredate = hiredate;
	}
	public int getSal() {
		return sal;
	}
	public void setSal(int sal) {
		this.sal = sal;
	}
	public int getMgr() {
		return mgr;
	}
	public void setMgr(int mgr) {
		this.mgr = mgr;
	}	
}

EmpDAO.java
package web.jdbc.test;

import java.sql.*;
import java.util.ArrayList;

public class EmpDAO {
	// 데이터베이스 연결관련 변수 선언
	private Connection conn = null;
	private Statement stmt = null;
	private ResultSet rs = null;

	// 데이터베이스 연결관련정보를 문자열로 선언
	String jdbc_driver = "oracle.jdbc.OracleDriver";//ojdbc14.jar에 있다.
	String db_url = "jdbc:oracle:thin:@211.183.3.5:1521:ORCL";

	private Connection getConn() throws Exception{

		// JDBC 드라이버 로드하여 DriverManager에 등록함
		Class.forName(jdbc_driver);

		// 로드된 드라이버를 이용하여 DB와 연결하고 Connection 인스턴스 구함
		Connection conn = DriverManager.getConnection(db_url,"user09","user09");
		return conn;
	}

	private void closeAll(ResultSet rs,Statement stmt,Connection conn){
		try{
			if(rs!=null)rs.close();
			if(stmt!=null)stmt.close();
			if(conn!=null)conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public ArrayList<Employee> getAllEmps(){
		String sql="select * from emp";
		Connection conn = null;
		Statement stmt = null;
		ResultSet rs =null;
		try {
			conn = getConn();
			stmt = conn.createStatement();
			rs = stmt.executeQuery(sql);
			Employee emp = null;
			ArrayList<Employee> list = new ArrayList<Employee>();
			while(rs.next()){
				emp = new Employee();
				emp.setEmpno(rs.getInt("EMPNO"));
				emp.setEname(rs.getString("ENAME"));
				emp.setDeptno(rs.getInt("DEPTNO"));
				list.add(emp);
			}
			return list;
		} catch (Exception e) {
			e.printStackTrace();
		}finally{//오류와 관련없이 항상 실행
			closeAll(rs,stmt,conn);
		}
		return null;
	}
}



'JSP > 2012.04강의(MySQL)' 카테고리의 다른 글

복습10  (0) 2012.07.17
복습8  (0) 2012.07.13
복습7 회원 정보 저장 폼  (0) 2012.07.12
복습6 Cookie,Session을 이용한 login 처리,자바빈(JavaBeans)  (0) 2012.07.11
복습5 페이지 모듈화,error page,Cookie  (0) 2012.07.10

+ Recent posts