DTO(Data Transfer Object)/Vo(Value Object)/Bean
- 양쪽으로 전송되어 오고가는 데이터들을 담은 객체, jsp에서는 Bean이라고 부른다.
- 여러 데이터들을 포장해서 만든 데이터 포장객체
- 사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스 구성
- 폼에서 입력된 데이터들은 하나의 DTO 객체로 변환 가능
- 하나의 데이터베이스 레코드를 저장하여 레코드와 같은 구조를 가짐
- 레코드가 50개면 DTO객체도 50개
- 한 개의 레코드는 빈즈 클래스 객체 하나로 매핑
- 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리하는 객체
DAO(Data Access Object)
- 데이터에 접근, 데이터를 관리하기 위한 객체 데이터들을 관리(CRUD)하는 여러 메소드들이
정의되어 있다. - Insert, delete, update, select 등 레코드 처리를 주 목적으로 한다
- DTO 객체를 데이터베이스 서버에 저장
- 데이터베이스 서버로부터 레코드를 select한 후, DTO 객체로 변경해 가져온다.
- SQL을 직접 실행하는 기능을 가짐
- JSP에서 데이터베이스 접속 로직을 Beans로 작성하여 DB정보 변경시 쉽게 변경사항을 구현할 수 있음
- 데이터 접근을 목적으로 하는 객체
- 커넥션 같은 것을 하나만 두고 여러 사용자가 DAO의 인터페이스를 사용하여 필요한
자료에 접근하도록 하는 것 - DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트
DataBase 계정 생성
1. 최고관리자 로그인
sqlplus 에 들어가서 DB ID와 PS입력해준다.
2. 계정 생성하기
계정생성: creat user [생성계정이름] identified by [생성계정이름];
계정에 권한 부과: gran connect, resource to [생성계정이름];
user wjsp
identified wjsp
로 id와 ps 모두 wjsp로 생성되었다.
DBeaver에 연결
오라클 클릭
Host, port, Database, Username, Password 모두 체크 후 Deit Driver Settings 클릭
Libraries에서 ojdbc6.jar 있는지 확인하고 없으면 Add
확인 후 text Connection으로 정상연결 확인
localhost2 에 WJSP가 추가되어있는지 확인한다.
jdbc(Java DataBase Conndectivity)
자바에서 데이터베이스에 접속과 관리를 할 수 있게 해주는 드라이버(API)이다.
자바로 작성된 프로그램으로 DB와 관련된 작업을 처리할 수 있도록 제공되는 기능(코드)들을 모아놓은 라이브러리이다.
ojdbc
오라클에서 제공하는 오라클DB를 관리할 수 있도록 도와주는 JDBC이다.
package
- Java. sql.Connection
특정 데이터베이스와 연결 정보를 가지는 Interface이다.
DriverManager로부터 Connection 객체를 가지고온다.
- java.sql.ResultSet
select 구분 실행 결과를 조회할 수 있는 방법을 정의한 Interface이다.
DB와 JAVA 연결
1. jsp 파일을 생성하여 오라클 접속정보를 제공
*jbdc_test.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<%@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>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "wjsp";
String password = "wjsp";
Class.forName(driver);
System.out.println("jdbc driver 로딩성공!");
conn = DriverManager.getConnection(url, user, password);
System.out.println(" 오라클 연결 성공!");
String sql ="INSERT INTO CAR(CARNUM,BRAND,COLOR,PRICE) VALUES ('3','k7','blue',3500000)";
int check = 0;
PreparedStatement pstm = conn.prepareStatement(sql);
check = pstm.executeUpdate(sql);
System.out.println("check : " + check); //1
%>
</body>
</html>
|
cs |
14~18행은 오라클과 DB의 커넥션을 위한 오라클 접속 정보를 입력한다.
driver: 오라클 드라이버에 접근하며 해당 패키지의 클래스 정보를 기재한다.
url: 오라클은 우리의 컴퓨터에 저장되어있어 localhost로 적어주고 오라클 번호를 적어준다.
user, password 의 아이디와 비밀번호를 적어준다.
20~24행으로 driver와 오라클의 연결이 성공적으로 되었는지 확인한다.
26행에서 DB의 INSERT문을 입력하여 오라클과 DB가 정상적으로 연결되었는지 최종확인한다.
중요한 함수만 하나씩 보자면
executeUpdate
1
|
check = pstm.executeUpdate(sql);
|
cs |
해당 함수는 select 구문을 제외한 다른 구문을 수행할 떄 사용되는 함수이다.
수행결과로 int 타입의 값을 반환하며
insert/ delete / update 관련 구문에서는 반영된 레코드의 건수를 반환한다.
create/ drop 구문에서는 0을 반환한다는 특징이 있다.
'국비필기노트 > jsp' 카테고리의 다른 글
jsp_자바빈즈태그 (0) | 2022.06.08 |
---|---|
jsp_DB에서 여러 데이터 가져오기 (0) | 2022.06.08 |
jsp_MVC패턴 (0) | 2022.06.03 |
jsp_jsp태그 (0) | 2022.06.01 |
jsp_attribute scope (0) | 2022.06.01 |