본문 바로가기

교육/Servlet&JSP

[jsp] jdbc

1. JDBC

    • 설치
      • oracle dbms설치
    • 개요
      • Java DataBase Connectivity
      • 관계형 DB에 접속, SQL 수행
      • DBMS서버에 따라 JDBC 드라이버 필요
      • JDBC 인터페이스
        • java.sql
      • JDBC 드라이버
        • 인터페이스를 상속하여 구현한 파일
        • jar파일들
    • 구현
      • JDBC 드라이버 로딩
        • Class.forName("oracle.jdbc.driver.OracleDriver");
      • DBMS서버 접속
        • Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","scott","tiger")
      • Statement 객체
        • 자바와 DB사이의 데이터를 전달해주는 객체
        • 생성
          • Statement stmt = conn.createStatement();
        • SQL실행
          • excuteQuery(sql)
            • select
          • executeUpdate(sql
            • 변경된 레코드 수 반환
        • ResultSet
          • getString(1)
            • index가 1부터 시작
          • getString("name")
            • name인 값 받아옴
      • preparedStatement객체
        • ?기호를 사용하여 statement객체보다 가독성이 좋음
        • 사용법
          • PreparedStatement pstmt = conn.prepareStatement("inser into test values(?,?)");
          • pstmt.setString(1,id);
          • pstmt.setString(2,pwd);
      • 자원 해제
        • 작은 단위부터 큰 단위로 해제
        • rs.close()
        • stmt.close(), pstmt.close()
        • conn.close()
  • DataSource
    • Connection관리
      • 기존 문제점
        • DB관련 작업할때마다 Connection을 새로 한다
        • 이 작업은 일정 시간이 필요한 부담되는 작업
        • 불필요한 연결이 생길 수도 있다
      • Connection Pool
        • Connection객체를 웹서버에서 미리 생성하여 준비
        • 필요 할 때 connection을 가져다가 씀
      • DataSource
        • Connection Pool 관리 목적
        • JNDI Server를 통해서 이용
        • 이용방법
          • lookup()을 통해 DataSource객체 획득
          • getConnection()통해 connection을 획득
          • DBMS작업 수행
          • 모든 작업 후 connection pool에 connection 반납
        • JNDI
          • Java Naming and Directory Interface
          • API
            • 어플리케이션에서 Naming, directory service에 접근하는데 사용
          • SPI
            • 새로운 서비스를 개발할 때 사용
          • Naming and Directory Service
            • 서비스하고자 하는 자원을 서버의 이름값과 연결
            • DNS서버
              • 도메인과 IP주소를 연결


'교육 > Servlet&JSP' 카테고리의 다른 글

[jsp]커스텀 태그  (0) 2018.03.06
[jsp]EL(Expression Language)  (0) 2018.03.06
[JSP] 태그  (0) 2018.01.21
[Servlet] 필터,리스너, 에러처리  (0) 2018.01.21
[Servlet]상태정보 유지  (0) 2018.01.21