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;
}
}
'DB > Oracle' 카테고리의 다른 글
수업 42일차 - 뷰, 인라인뷰, 시퀀스 (0) | 2022.07.01 |
---|---|
뷰 VIEW (0) | 2022.07.01 |
CONSTRAINTS (0) | 2022.06.30 |
수업 36일차 - 스칼라 서브쿼리, 인라인뷰, 데이터정의언어(DDL) (0) | 2022.06.27 |
수업 35일차 - 일반 함수, group by/having, join (0) | 2022.06.22 |