Skip to main content

DataBase-2

· 3 min read
  1. JDBC 살펴보기
  • Java Database Connectivity
  • JAVA 프로그램에서 SQL문을 실행하여 데이터를 관리하기 위한 JAVA API
  • JDBC의 특징은 다양한 데이터 베이스에 대해서 별도의 프로그램을 만들 필요 없이, 해당 데이터 베이스의 JDBC를 이용하면 하나의 프로그램으로 데이터 베이스를 관리할 수 있다.
  1. 데이터 베이스 연결 순서
  • oracle 설치Path/product/18.0.0/dbhomeXE/jdbc/lib/ojdbc8.jar 복사
  • project/lib/ 붙여넣기
  • project java build path -> libraries -> add library -> user Library -> user Libraries -> add ojdbc8
  • tomcat lib/ 아래에도 ojdbc.jar 넣어주어야 한다.
  • JDBC 드라이버 로드 DriverManager
    • Class.forName("oracle.jdbc.driver.OracleDriver"); -> 메모리에 OracleDriver 로드
  • 데이터 베이스 연결 Connection
    • DriverManager.getConnection(JDBC URL, 계정아이디, 비밀번호); -> Connection 객체 생성
  • SQL문 실행 Statement
    • connection.createStatement(); -> Statement 객체를 통해 SQL문이 실행
  • 데이터 베이스 연결 해제 ResultSet
    • statement.executeQuery(), statement.executeUpdate() -> SQL문의 결과값을 ResultSet 객체로 받음
  1. Statement 객체 살펴보기
  • Statement(interface)
    • executeQuery() resultSet: SQL문 실행 후 여러 개의 결과값 생기는 경우 사용 ex(select)
    • executeUpdate() int: SQL문 실행 후 테이블의 내용만 변경되는 경우 사용 ex (insert, delete, update)
  • executeQuery() 실행 후 반환 되는 레코드 셋
    • executeQuery() -> ResultSet -> 로우 데이터 셋
    • ResultSet()
      • next() : 다음 레코드로 이동
      • previous(): 이전 레코드로 이동
      • first(): 처음으로 이동
      • last(): 마지막으로 이동
      • get메소드(getString, getInt)
    <%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%!
Connection connection;
Statement statement;
ResultSet resultSet;

String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String uid = "c##davidyoon";
String upw = "3302";
String query = "select * from member";
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
try{
Class.forName(driver);
connection = DriverManager.getConnection(url, uid, upw);
statement = connection.createStatement();
resultSet = statement.executeQuery(query);

while(resultSet.next()){
String id = resultSet.getString("id");
String pw = resultSet.getString("pw");
String name = resultSet.getString("name");
String phone = resultSet.getString("phone");

out.println("아이디 :" + id + ", 비밀번호 : "+ pw +", 이름 :" + name + ", 전화번호 : " + phone +"<br/>");
}
}catch(Exception e) {
e.printStackTrace();
}finally{
try{
if(resultSet != null) resultSet.close();
if(statement != null) statement.close();
if(connection != null) connection.close();
} catch(Exception e) {
e.printStackTrace();
}

}

%>


</body>
</html>