📚 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 창에서 아래와 같이 명령을 실행해주세요. (앞의 경로는 사용자마다 다르니 유의해주세요.)
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