본문 바로가기

국비필기노트/jsp

jsp_DB 연결(DB계정생성, Java-DB연결)

  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 [생성계정이름];

 

wjsp란 이름으로 새 계정 생성 예시

 

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가 정상적으로 연결되었는지 최종확인한다.

 

 

이클립스 콘솔창
Dbeaver 새로 추가된 3번 컬럼

 

중요한 함수만 하나씩 보자면

 

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