DB/Oracle

오라클 DB 연동 후 데이터 출력

hs_developer 2022. 7. 1. 00:57
import java.sql.*;

public class EmpDAO2 {
	
	// 1. 공통 필드 선언
	private Connection conn;
	private Statement stmt;
	private ResultSet rs;
	
	// 2. 공통 메서드 선언
	public void setConn()
	{
		// 1) 드라이버 연결
		try
		{
			Class.forName("oracle.jdbc.driver.OracleDriver");
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
		
		// 2) 특정 서버 연결
		String info= "jdbc:oracle:thin:@localhost:1521:xe";
		
		try
		{
			conn= DriverManager.getConnection(info, "hr", "happy");
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}
	
	// 조회 처리 메서드 구현 - 출력
	public void empList()
	{
		// 1. 연결 공통 메서드 출력
		try
		{
			setConn();
			
			// 2. Statement 객체 생성 (Connection -> Statement)
			stmt= conn.createStatement();
			String sql= "select * from emp";
			
			// 3. ResultSet 객체 생성
			rs= stmt.executeQuery(sql);
			
			// 4. while()로 결과 내용 처리
			while(rs.next())
			{
				System.out.print(rs.getInt("empno")+"\t");
				System.out.print(rs.getString("ename")+"\t");
				System.out.print(rs.getString("job")+"\t");
				System.out.print(rs.getInt("mgr")+"\t");
				System.out.print(rs.getDate("hiredate")+"\t");
				System.out.print(rs.getDouble("sal")+"\t");
				System.out.print(rs.getDouble("comm")+"\t");
				System.out.print(rs.getInt("deptno")+"\t");
				System.out.println();
			}
			
			// 5. 자원 해제
			rs.close();
			stmt.close();
		} 
		catch (Exception ex)
		{
			// 6. 예외 처리
			if(rs!=null) rs=null;
			if(stmt!=null) stmt=null;
		}
	}
	
	public static void main(String[] args) {
		
		EmpDAO2 dao= new EmpDAO2();
		dao.empList();
	}
}

 

 

참고

https://velog.io/@krafftdj/JAVA-DB-연동-후-데이터-출력

 

 

 

 

수업 기반

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

public class EmpDAO{
	
	private Connection conn;
	private PreparedStatement ps;
	private final String URL= "jdbc:oracle:thin:@localhost:1521:XE";
	
	// EmpDAO()가 생성되면 자동으로 생성되는 부분 
	// 메서드마다 반복되는 코드문
	public EmpDAO()
	{
		// 드라이버 연결
		// oracle에 접속하게 하는 라이브러리
		try
		{
			Class.forName("oracle.jdbc.driver.OracleDriver");
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
	
	// 특정 서버 연결
	public void getConnection()
	{
		try
		{
			conn= DriverManager.getConnection(URL, "hr", "happy");
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
	
	public void disConnection()
	{
		try
		{
			if(ps!=null) ps.close();
			if(conn!=null) conn.close();
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
	
	public List<EmpVO> empListData(String ename)
	{
		List<EmpVO> list= new ArrayList<EmpVO>();
		
		try
		{
			getConnection();
			
			String sql= "SELECT empno, ename, deptno, job FROM emp WHERE deptno=(SELECT depno FROM emp WHERE ename=?";
			
			ps= conn.prepareStatement(sql);
			ps.setString(1, ename);
			ResultSet rs= ps.executeQuery();
			
			while(rs.next())
			{
				EmpVO vo= new EmpVO();
				
				vo.setEmpno(rs.getInt(1));
				vo.setEname(rs.getString(2));
				vo.setDeptno(rs.getInt(3));
				vo.setJob(rs.getString(4));
				
				list.add(vo);
			}
			rs.close();
		}
		catch(Exception ex)
		{
			disConnection();
		}
		finally
		{
			disConnection();
		}
		return list;
	}
}