💻 <!-- dev -->

    [JDBC] 02_JDBC실습구조_Service 있는 ver.

    더보기 service 클래스를 만들어 Connection 객체 기능을 담아 처리해 보자 프로그램 흐름 사 용 자 main view controller service dao 👉🏻 시각정보 입력, 출력 요청화면 👉🏻 호출 1. VO 가공 2. 서비스 호출 3. 결과 👉🏻 호출 1. CONN 생성 2. DAO 호출 👉🏻 호출 1. pstmt 생성 2실행, 결과 3. 가공 👈🏻 키보드 응답화면 👈🏻 성공 실패 응답화면 지정 👈🏻 결과 3. 트랜잭션 4.CONN .CLOSE() 5. 리턴 👈🏻 결과 4. pstm, rset 반납 5. 리턴 DB 접속 관련 SQL 실행 관련 *JDBC 과정 중 반복적으로 쓰이는 구문들을 각각의 메소드로 정의해 둘 것 "재사용할 목적"으로 공통 템플릿 작업 진행 * 이 클래스에서의 ..

    [JDBC] JDBCTemplate

    더보기 Common 패키지와 JDBCTemplate 클래스를 만들어 JDBC 과정 중 반복적으로 쓰이는 구문들을 각각의 메소드로 정의해 주자 02_OJDBC_PreparedStatement 프로젝트 복사 후 03_JDBC_Template_Service 프로젝트 생성 와 방법 동일함 *JDBC 과정 중 반복적으로 쓰이는 구문들을 각각의 메소드로 정의해 둘 것 "재사용할 목적"으로 공통 템플릿 작업 진행 학원에서는 하기 코드들을 com.kh.common.JDBCTemplate에서 진행 * 이 클래스에서의 모든 메소드들은 모두 static 메소드로 만들 것임 => 싱글톤 패턴: 메모리 영역에 단 한 번만 올라간 것을 두고두고 공유하며 재사용하는 개념 1. DB와 접속된 Connection 객체를 생성해서 반환..

    [JDBC] Statement와 PreparedStatement

    더보기 Statement로 진행했던 기존 프로젝트를 PreparedStatment로 변경해 봄으로써 Statement와 Prestatement의 차이점을 알아보자 Statement => conn.createStatement(); PreparedStatement => conn.prepareStatement(sql); 👉🏻 실행되기 전에 sql을 완성시켜 준다는 점이 다름! Statement => 완성된 상태 PreparedStatement => 완성되든 미완성되든 형태는 상관없음 단, 미완성된 형태일 경우에는 쿼리문이 실행되기 전 시점에 쿼리문을 완성시켜 줘야 함 학원에서는 해당 과정을 기존 프로젝트를 복사하여 필요한 코드만 수정하는 방식으로 진행! *Statement(부모, 정적 바인딩)와 Prepare..

    [JDBC/정리] JDBC용 객체

    JDBC Statement 내용 - Connection : DB 연결정보를 담아서 DB 에 연결시켜 주는 역할 conn = DriverManager.getConnection("oracle:jdbc:thin:@localhost:1521:xe", 계정명, 비밀번호); - Statement : SQL 문을 매개변수로 보내서 실행하고 결과를 받아 주는 역할 stmt = conn.createStatement(); > SELECT : rset = stmt.executeQuery(sql); > INSERT, UPDATE, DELETE : int(처리된행의갯수) = stmt.executeUpdate(sql); - ResultSet : SELECT 문의 실행 결과가 담겨 있는 객체 후처리 case1 : 한 개의 행으로 ..

    [JDBC] 01_ JDBC실습구조_Service 없는 ver.

    더보기 자바 프로젝트인 회원 관리 프로그램에 적용하여 Java와 Oracle을 연동해 보자 * MVC 패턴 M: Model, 데이터 처리 담당(데이터들을 담기 위한 VO, 데이터들이 보관된 공간과 직접 접근해 주는 DAO) V: View, 화면을 담당(사용자가 보는 시각적인 요소, 출력 및 입력) C: Controller, 사용자의 요청을 담당(사용자의 요청을 처리 후 그에 해당되는 응답 화면을 지정) 프로그램 실행만을 담당 사용자가 보게 될 첫 화면을 띄워 주고 끝 package com.kh.run; import com.kh.view.MemberView; public class Run { public static void main(String[] args) { // 방법 1. 생성 후 호출 // Mem..

    [JDBC] 00_JDBC의 개요

    더보기 오라클과 자바를 연동하기 위한 JDBC를 사용하기 위해 기본 환경을 세팅해 보자 JDBC(Java DataBase Connectivity) Oracle과 연동하려면 OJDBC가 필요함! 👉🏻 홈페이지에서 다운로드 받을 수도 있지만 Oracle 다운로드 시 함께 다운받아져 있으므로 하기 경로 확인해 볼 것! 경로 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 경로, 컴퓨터 유저 이름, 파일 이름 등이 한글일 경우 오류 날 여지가 있으므로 반드시 영어로 작성할 것! ojdbc6.jar → 우리가 쓸 ojdbc 버전 ojdbc6_g.jar → 변경사항 있을 때마다 로그 기록하므로 성능 저하 이슈 있음 ojdbc6.jar 오른쪽 마우스 클릭 - 복사 - ..

    [Oracle] 12_OBJECT(SEQUENCE)_KH계정

    12_OBJECT(SEQUENCE)_KH계정 자동으로 번호를 발생시켜 주는 역할을 하는 객체 정수값을 자동으로 순차적으로 생성해 줌 예) 회원번호, 사번, 게시글 번호 등등 "채번"할 때 주로 쓰일 예정 1. 시퀀스 객체 생성 구문 [ 표현법 ] CREATE SEQUENCE 시퀀스명 START WITH 시작숫자 => 처음 발생시킬 시작값 지정 (생략 가능) INCREMENT BY 증가값 => 한번에 몇 씩 증가시킬 건지 지정 (생략 가능) MAXVALUE 최대값 => 최대값 지정 (생략 가능) MINVALUE 최소값 => 최소값 지정 (생략 가능) CYCLE/NOCYCLE => 값의 순환 여부를 지정 (생략 가능) CACHE 바이트크기/NOCACHE => 캐시 메모리 사용 여부를 지정 (생략 가능) CA..

    [Oracle] 11_OBJECT(VIEW)_KH계정

    11_OBJECT(VIEW)_KH계정 SELECT (쿼리문)을 저장해 둘 수 있는 객체 (자주 쓰는 건 SELECT문을 저장해 주면 긴 SELECT문을 매번 다시 기술할 필요가 없음) 임시 테이블 같은 존재 (실제 데이터가 담겨 있는 것은 아님) ----- 실습 문제 ----- -- '한국'에서 근무하는 사원들의 사번, 이름, 부서명, 급여, 근무국가명, 직급명을 조회하시오 DEPARTMENT DEPT_ID = EMPLOYEE DEPT_ CODE (D1) JOB JOB_CODE = EMPLOYEE JOB_CODE (J1) LOCATION LOCAL_CODE = DEPARTMENT LOCATION_ID (L1) NATIONAL NATIONAL_CODE = LOCATION NATIONAL_CODE (KO) ..

    [Oracle] 10_TCL(COMMIT, ROLLBACK, SAVEPOINT)_KH계정

    10_TCL(COMMIT, ROLLBACK, SAVEPOINT)_KH계정 트랜잭션을 제어하는 언어 *트랜잭션 (TRANSACTION) - 데이터베이스의 논리적 연산 단위 (절대 쿼리문 한 개의 단위가 아님!) - 데이터의 변경사항 (DML) 들을 하나의 트랜잭션으로 묶어서 처리 COMMIT (확정) 하기 전까지의 변경사항들을 하나의 트랜잭션에 담게 됨 - 트랜잭션의 대상이 되는 SQL: INSERT, UPDATE, DELETE (DML) => 실행했을 때 뭔가가 바뀐다면 트랜잭션 대상이라고 생각하면 됨! *TCL의 종류 COMMIT, ROLLBACK, SAVEPOINT [ 표현법] - COMMIT; => 하나의 트랜잭션에 담겨 있는 변경사항들을 실제 DB에 반영하겠다를 의미함 실제 DB에 변경된 내용들을..

    [Oralce] 09_DCL(GRANT, REVOKE)_관리자계정, SAMPLE계정

    09_DCL(GRANT, REVOKE)_관리자계정, SAMPLE 계정 데이터 제어 언어 계정에게 시스템 권한 또는 객체 접근 권한을 부여(GRANT) 하거나 회수(REVOKE) 하는 언어 *권한 부여(GRANT) - 시스템 권한: 특정 DB에 접근하는 권한, 객체들을 생성할 수 있는 권한 - 객체 접근 권한: 특정 객체들에 접근해서 조작할 수 있는 권한 1. 시스템 권한 특정 DB에 접근하는 권한, 객체들을 생성할 수 있는 권한 [ 표현법 ] GRANT 권한1, 권한2, ..., TO 계정명; - 시스템 권한의 종류 CREATE SESSION: 계정에 접속할 수 있는 권한 CREATE TABLE: 테이블을 생성할 수 있는 권한 CREATE VIEW: 뷰를 생성할 수 있는 권한 CREATE SEQUENCE..