-
[JSP] JSP DB연동 3가지 방법기초/JSP 2017. 3. 21. 13:36
sql이 무엇인가에 따라서 import가 달라지니깐 어떤 DB인지, 어떤 sql인지 꼭 생각하면서 import 하자!
#1 Statement 객체 사용하기
#2 PreparedStatement 객체 사용하기
#3 DataSource객체 사용하기
3번째 방법은 직접 하셔야 합니다.
사용 db : oracle 11g 버전 : xe
사용 sql : java.sql
참조할 오라클 계정 : scott1130 / tiger : 미리 만들어 두었다.
사용할 sql : select * from member : member테이블 데이터를 보겠다
#1 Statement 객체 사용하기 select 문에서 주로 사용한다.
#페이지 import
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
#<%! %> 선언부
URL 경로 Connections -> Properties -> Driver Properties -> Connection URL
#오라클 등록부분
Class.forName을 통해서 Driver 연결
오라클 : oracle.jdbc.driver.OracleDriver -> 사용
ms- SQL : org.gjt.mm.msql.Driver
mySQL : com.microsoft.jdbc.sqlserver.SQLServerDirverz
#드라이버 연결하기
stmt에서는 sql을 담을 수 있게 선언만 만들어주고 rs에서 sql을 등록한다
rs에는 행~별, x 칸 들이 들어 있다.
BOF (첫번째 불러왔을떄) : 필드 이름
rs.next() : 다음 레코드로 || rs.get[타입]("이름") 레코드들가져오기
EOF (레코드의 끝) = false
따라서 while문으로 rs.next()조건을 주면된다.
파일과 마찬가지로 데이터베이스도 사용이 끝나면 끝나는 순서대로 close시켜준다.
#2 PreparedStatement 객체 사용하기 -> 정보를 갱신할 때 주로 사용된다.
왜냐하면 변수자체를 자바에서 받아오기때문에 rs.getString("+name+")" 이렇게 ++로 구분자를 지정해줘야 하는데 이게 너무 번거롭다.
#페이지 import
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
#<%! %> 선언부
PreparedStatement로 선언한 pstmt에서 sql을 등록하기 때문에 ResultSet객체의 사용도 무의미 해졌다
또한 ?의 사용의로 값들을 전달한다
?에 인덱스 번호가 자동으로 할당되면서 setting을 인덱스, 값으로 넘겨주니깐 인자값을 전달하는 sql문에서는 훨씬 간편하다.
insert는 객체를 담을 필요가 없기 때문에 ResultSet객체의 사용이 없으므로 pstmt에서 execute까지 같이 해주고 Close도 2개의 객체만 하면된다.
[테스트]
#3 DataSource 객체 사용하기
DataSourc는 톰캣페이지에 제공 되어있습니다.
tomcat url : tomcat.apache.org
#1 Tomcat 8.0
#2 JDBC DataSource
#3 Orcale 8i, 9i & 10g
#4 Source 3개가 나옵니다.
#1 wml등록방법은 2가지가 있다. (둘중 하나만 사용하면 된다)
Servers > Tomcat ver Server at localhost >
1) context.xml에 붙여넣는 방법
2) server.xml에 붙여넣는 방법 >> 새로만들어진 프로젝트는 jps를 한번 실행되어야 하기때문에 test.jsp로 아무거나 작성해서 프로젝트를 활성화 시켜주면 context docBase="project_name" 태그가 생성됩니다.
<context /> / 종료태그를 지운뒤 </context>로 파라매터를 넣을 곳을 만들어주고 가져온 소스를 붙여넣습니다.
#2 tomcat 7.0이상은 생략한다.
#3 jsp 페이지에 복사 붙여넣기 한다.
#페이지 import
<%@page import="java.sql.Connection"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="javax.naming.Context"%>
<%@page import="javax.naming.InitialContext"%>
ctrl + spacebar를 누르면 이름이 같은 여러개의 페이지가 나오는데 자신이 사용할 페이지를 import해주셔야 동작합니다 ..(눈치게임??)
#3번을 고쳐 줄것 없이 긁어오면 됩니다
text가 뜨면 성공입니다!
'기초 > JSP' 카테고리의 다른 글
[JSP] 페이지 이동 기술 (0) 2017.03.23 [jsp] MVC패턴1 으로 프로젝트 구성 (구성중) (0) 2017.03.22 [JSP]데이터 베이스 (0) 2017.03.20 [JSP] DB 환경설정(sql developer, eclipse) (2) 2017.03.17 [JSP] 파일 업로드 (0) 2017.03.15