JDBC 소개
JDBC(Java Database Connectivity)란 데이터베이스에 접근하여 SQL문을 실행하기 위한 자바 라이브러리를 말한다.
데이터베이스 벤더들이 이러한 라이브러리를 각자 만든다면 제품마다 프로그래밍 방법이 달라질 것이고, 자바 프로그래머는 각 벤더가 만든 클래스들의 사용법을 익혀야 할 것이다.
썬에서 RDBMS에 접근하여 SQL문을 실행하기 위한 자바 라이브러리를 만들어 표준으로 제공한 것이 바로 JDBC이다. JDBC에는 구현클래스가 거의 없고 대부분이 인터페이스이다. 인터페이스를 구현한 클래스를 만들어 제공하는 것은 각 벤더의 책임이다.
지금부터 우리가 배우게 되는 것은 썬에서 제공하는 인터페이스의 사용법이다. JDBC 예제 소스를 보면 각 벤더가 만든 JDBC 구현체가 보이지 않는다. 썬의 인터페이스만 보인다.
ojdbc13 = jdk1.3
ojdbc14 = jdk1.4
ojdbc5 = jdk1.5
ojdbc6 = jdk1.6
강의 와 다르게 ojdbc7 또는 ojdbc8 을 설치하기 바란다. 표를 보면 알 수 있듯이 특히 , JDK 7 이상 과 오라클 12 이상 에서는
ojdbc7 이 상을 써야 한다.
또한, ojdbc7 이상에서는 Oracle CLOB,BLOB 데이터 저장 별도의 처리 없이도 varchar 타입 처럼 데이터를 저장 시키고 불러 오는 것이
가능하다.
다운로드 사이트 :
ojdbc6 : https://mvnrepository.com/artifact/com.oracle/ojdbc6/12.1.0.1-atlassian-hosted
ojdbc7 : https://mvnrepository.com/artifact/com.github.noraui/ojdbc7/12.1.0.2
ojdbc8 : https://mvnrepository.com/artifact/com.github.noraui/ojdbc8
소스를 보면
강의와 다르게 아파치에 jdbc 라이브러리를 등록하지 않고 WEB-INF/lib 에 등록 하였다. 충돌 날 수 있으니 한 곳에만 등록 하자.
MemberJoinProc.jsp
<%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <jsp:include page="Header.jsp" /> </head> <body> <div class="container"> <div class="row"> <div class="col-sm-12 text-center"> <div class="col-sm-3"></div> <div class="col-sm-6"> <% request.setCharacterEncoding("UTF-8"); //post 전달 방식일 경우 한글 처리 //취미 부분은 별도로 읽어들어 다시 빈 클래스에 저장 String[] hobby = request.getParameterValues("hobby"); //배열의 있는 내용을 하나의 스트림으로 젖아 String texthobby = ""; for (int i = 0; i < hobby.length; i++) { texthobby += hobby[i] + " "; } %> <!-- useBean 을 이용하여 한꺼번에 데이터를 받아옴 --> <jsp:useBean id="mbean" class="model.MemberBean"> <jsp:setProperty name="mbean" property="*" /> <!-- 맵핑 시키시오 --> </jsp:useBean> <% mbean.setHobby(texthobby); //기존 취미는 주소번지가 저장되기에 위에 배열의 //내용을 하나의 스트림으로 저장한 변수를 다시입력 //오라클에 접속하는 소스를 작성 String id="system";//접속 아이디 String pass="1111"; String url="jdbc:oracle:thin:@localhost:1521:XE"; //접속 url Connection con=null; PreparedStatement pstmt=null; try{ //1.해당 데이터 베이스를 사용한다고 선언 (클래스를 등록 = 오라클용 사용 ) Class.forName("oracle.jdbc.driver.OracleDriver"); //2.해당 데이터 베이스에 접속 con=DriverManager.getConnection(url, id, pass); //3. 접속후 쿼리준비하여 쿼리를 사용하도록 설정 String sql ="insert into member values(?, ? , ? ,? ,? , ?, ?, ?)"; //쿼리를 사용하도록 설정 pstmt=con.prepareStatement(sql);//jsp 에서 쿼리를 사용하도록 설정 //?에 맞게 데이터를 맵핑 pstmt.setString(1, mbean.getId()); pstmt.setString(2, mbean.getPass1()); pstmt.setString(3, mbean.getEmail()); pstmt.setString(4, mbean.getTel()); pstmt.setString(5, mbean.getHobby()); pstmt.setString(6, mbean.getJob()); pstmt.setString(7, mbean.getAge()); pstmt.setString(8, mbean.getInfo()); //4. 오라클에서 쿼리를 실행하시오 pstmt.executeUpdate(); //insert, update, delete 사용하는 메소드 // 5. 자원 반남 con.close(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(pstmt!=null)pstmt.close(); if(con!=null)con.close(); }catch(Exception e){ e.printStackTrace(); } } %> 오라클에 완료 ~ </div> </div> </div> </div> </body> </html>
http://localhost:8090/DataBase/MemberJoinProc.jsp
오라클에 완료 ~
오라클 완료 표시로
데이터 등록이 성공했으면 Toad 에서 확인 해보자.
동영상 강좌와 다르게 모바일 적용이 가능한 반응형 부트스트랩을 사용하였다.
여기서는 jsp 를 배우는 강좌 이기 때문에 html 적 요소에는 비중있게 생각 하지 않아도 될 것이다.
소스 : https://github.com/braverokmc79/jsp_sin
유튜브 동영상 출처 :
강사 : 신형섭(잭임연구원)
저작권 : (주)소프트캠퍼스 http://www.softcampus.co.kr 더많은 무료 강의는 사이트에서 확인하실수 있습니다.
댓글 ( 5)
댓글 남기기