너와 나의 연결고리, JSP 🔗(8) - DTO/VO, DAO, DB커넥션, ojdbc

joyfulwave·2022년 10월 17일
0




📚 DTO / VO

- DTO : Data Transfer Object
- VO : Value Object

  • 양쪽으로 전송되어 오고가는 여러 데이터들을 담은 데이터 포장 객체로 jsp에서는 Bean이라고 불러요.
  • 사용자가 입력한 값을 객체 형태로 받을 수 있게 클래스로 구성해요.
  • 폼에서 입력된 데이터들은 하나의 DTO 객체로 변환이 가능해요.
  • 하나의 데이터베이스 레코드를 저장하여 레코드와 같은 구조를 지녀요. 예를들어, 레코드가 50개면 DTO 객체도 50개에요.
  • 데이터가 포함된 객체를 한 시스템에서 다른 시스템으로 전달하는 작업을 처리하는 개체에요.

📚 DAO

DAO : Data Access Object

  • 데이터에 접근, 데이터를 관리하기 위한 객체에요. 그래서 데이터들을 관리(추가, 수정, 삭제, 읽기)하는 여러 메소드들이 정의되어 있어요.
  • insert, delete, update, select 등 레코드 처리를 주 목적으로 해요.
  • DTO/VO 객체를 데이터베이스 서버에 저장해요.
  • 데이터베이스 서버로부터 레코드를 select한 후, DTO 객체로 변경해 가져와요.
  • SQL을 직접 실행하는 기능을 가져요.
  • DB를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트

📚 DB connection

📌 실습을 위한 계정생성

⚫ (1)

cmd 창을 열어 명령어를 작성해줄 준비를 해줘요.

cmd 창에서 아래와 같이 명령을 실행해주세요. (앞의 경로는 사용자마다 다르니 유의해주세요.)

  • sqlplus 명령 입력
 C:\Users\JOY>sqlplus
  • 실습을 위한 계정 생성을 위해 최고 관리자 계정으로 로그인 해줘요.
SQL*Plus: Release 11.2.0.2.0 Production on 월 10월 17 11:47:30 2022
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Enter user-name:
  • Enter user-name에 system을 입력하고 Enter password는 오라클을 설치할 때 입력했던 비밀번호를 입력해주세요. 비밀번호를 입력할 때 입력되는 표시가 되지 않으니 걱정하지 말고 입력해주세요.
Enter user-name: system
Enter password:
  • 아래 내용이 나오면 계정 생성을 위한 명령어를 입력해주세요. (create user jsp identified by jsp; => jsp 라는 비밀번호를 가진 jsp 계정 생성)
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> create user jsp identified by jsp;
  • 계정 생성이 완료되면 이용 권한을 부여해주세요.
SQL> grant connect, resource to jsp;

📚 ojdbc란

📌 jdbc

  • Java DataBase Connectivity
  • 자바에서 데이터베이스에 접속/관리 할 수 있게 해주는 드라이버(API)에요.
  • 자바로 작성된 프로그램으로 DB와 관련된 작업을 처리할 수 있도록 제공되는 기능(코드)들을 모아놓은 것이에요.

📌 ojdbc

  • Oracle Java DataBase Connectivity
  • Oracle에서 제공하는 오라클 DB를 관리할 수 있도록 도와주는 JDBC를 말해요.

📌 java sql package

⚫ connection

  • DriverManager로부터 Connection 객체를 가져와요.

⚫ PreparedStatement

  • SQL문을 미리 컴파일 하여 실행 속도를 높여줘요.

⚫ ExecuteUpate

  • select 구문을 제왼한 다른 구문을 수행할 때 사용되는 함수에요.
  • 수행결과로 int 타입의 값을 반환해요.
  • inset/delete/update 관련 구문에서는 반영된 레코드의 건수를 반환해요.

📌 resultset

select쿼리 실행 시 executeQuery() 메서드를 사용하며, 실행결과로 java.sql.ResultSet형으로 리턴해줘요.

⚫ 자주 사용하는 메서드

  • next() : 다음행으로 커서를 이동. 만약 다음행이 없으면 false를 리턴해요.
  • getxxx(int columnIndex) : columnIndex번째 컬럼의 값을 xxx 타입으로 가져와요.
  • getxxx(String columnIndex) : columnName 컬럼의 값을 xxx 타입으로 가져와요.



포기하지 말고 JUST DO! ✔️




출처
https://media.giphy.com/media/dwmNhd5H7YAz6/giphy.gif
https://media.giphy.com/media/3o6Mb9EC7mNqXl9x7y/giphy.gif

0개의 댓글