JSP

 

 

 

 

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 더많은 무료 강의는 사이트에서 확인하실수 있습니다.

 

 

 

 

 

about author

PHRASE

Level 60  라이트

'로마에 가면 로마 사람들이 하는 대로 하라' 는 것이 성공의 가장 확실한 길이다. -버나드 쇼

댓글 ( 1)

댓글 남기기

작성