백엔드 과정

    [JDBC] Statement / ResultSet

    Statement Connection 클래스의 createStatement() 메소드를 호출하여 얻어지며 생성 된 Statement 인스턴스로 SQL 질의문을 String 에 담아 인자로 전달하여 executeQuery() 메소드를 호출하여 SQL 질의 수행 이전 포스팅과 동일하게 커넥션 생성과 자원반납은 JDBCTemplate 클래스에 작성하여 메소드 호출하여 수행한다. (JDBCTemplate 클래스 코드는 아래 확인 가능) Statement 는 쿼리문을 저장하고 실행하는 기능을 하는 용도의 인터페이스로 사용법을 알아보자. Connection con = getConnection(); /* 쿼리문을 저장하고 실행하는 기능을 하는 용도의 인터페이스 */ Statement stmt = null; /* se..

    [JDBC] Connection 생성하기

    이전 포스팅에서는 DriverManager를 이용하여 커넥션을 생성하는 코드를 작성해보았다. 메인 클래스에서 driver 연결하는 코드를 작성하기에는 너무 길기 때문에 jdbc 연결을 해주는 클래스를 따로 만는 것이 좋다. 이렇게 작성한 클래스를 import하고, getConnection() 메소드를 통해 인스턴스를 생성해주는 것이 좋다. Connection 특정 데이터 원본과 연결 된 커넥션을 나타내며 Statement 인스턴스를 생성할 때도 Connection 인스턴스를 사용하여 createStatement() 메소드를 호출하여 생성한다. SQL 문장을 실행시키기 전에 우선 Connection 인스턴스가 있어야 함 메인 클래스에서 드라이버 연결을 해주는 getConnection() 메소드를 호출한다...

    [JDBC] DriverManager 란?

    DriverManager 데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할 Class.forName() 메소드를 통해 생성되며 반드시 예외처리를 해야 함 직접 인스턴스 생성이 불가능하고 getConnection() 메소드를 사용하여 인스턴스 생성 가능 Driver 등록하는 방법을 코드로 알아보자. 1. 리터럴하게 전달하는 방법 Connection con = null; try { /* 사용할 드라이버 등록 */ Class.forName("oracle.jdbc.driver.OracleDriver"); /* DriverManager를 이용해 Connection 생성 */ conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe..

    [JDBC] 개발환경 구축

    [JDBC] 개발환경 구축

    JDBC ? (Java DataBase Connectivity) 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API JDBC구조 JDBC 개발환경 구축 1. ojdbc8 다운로드 https://www.oracle.com/database/technologies/appdev/jdbc-ucp-18-15-downloads.html 혹은 내 컴퓨터 경로안의 ojdbc8 파일을 찾을 수도 있다. C:\app\User\product\18.0.0\dbhomeXE\jdbc\lib 2. lib 폴더 생성 후 ojdbc8 파일 복사 붙여넣기 3. 환경 설정 Properties 4. 환경 변수 세팅 Java Build Path > Liberaries > Add JARs.. > ojdbc8 파일 추가 >..

    [Oracle] Chap14 권한과 ROLL

    권한 (GRANT) 사용자의 계정과 암호설정, 권한 부여 보안을 위한 데이터베이스 관리자 사용자가 데이터베이스의 객체 (테이블, 뷰 등)에 대해 특정 권한을 가질 수 있게 하는 권한이 있음 다수의 사용자가 공유하는 데이터베이스 정보에 대한 보안 설정 데이터 베이스에 접근하는 사용자 마다 서로 다른 권한과 롤을 부여함 1. 내가 다른 사용자에게 부여한 객체 권한을 조회 SELECT UTPR.* FROM USER_TAB_PRIVS_RECD UTPR; 2. 나에게 부여된 객체 권한, 객체 이름을 조회 SELECT UTPM.* FROM USER_TAB_PRIVS_MADE UTPM; 1. 시스템 권한 데이터베이스 관리자가 가지고 있는 권한으로 오라클 접속, 테이블, 뷰, 인덱스 등의 생성 권한 CREATE USE..

    [Oracle] Chap13 SYNONYM

    SYNONYM 시노님이란 '동의어'를 뜻한다. 다른 데이터베이스가 가진 객체에 대한 별명 혹은 줄임말 여러 사용자가 테이블을 공유할 경우 다른 사용자가 테이블에 접근할 때 '사용자명.테이블명' 으로 표현하는데 동의어를 사용하면 간단하게 사용할 수 있다. SYNONYM 생성 CREATE SYNONYM 줄임말 FOR 사용자명.객체명; 동의어 생성 역시 권한이 필요하므로 시스템계정으로 권한 부여를 먼저 해주어야 한다. GRANT CREATE SYNONYM TO C##EMPLOYEE; 권한 부여 후 CREATE SYNONYM 생성 CREATE SYNONYM EMP FOR EMPLOYEE; 동의어의 구분 1. 비공개 동의어 객체에 대한 접근 권한을 부여 받은 사용자가 정의한 동의어 2. 공개 동의어 모든 권한을 ..

    [Oracle] Chap12 INDEX

    INDEX SQL 명령문의 검색 처리 속도를 향상시키기 위해 컬럼에 대해서 셍성하는 오라클 객체 하드디스크의 어느 위치인지에 대한 정보를 가진 주소록 DATA - ROWID로 구성 ROWID 구조 : 오브젝트 번호, 상대 파일 번호, 블록 번호, 데이터 번호 SELECT ROWID -- 주소값 , E.EMP_ID , E.EMP_NAME FROM EMPLOYEE E; -- 출력 -- AAAR/uAAHAAAACUAAA200김혜수 인덱스의 내부 구조는 이진트리 형식으로 구성되어 있고 인덱스를 생성하기 위해서는 시간이 필요하다. 또한 인덱스를 위한 추가 저장 공간이 필요하기 때문에 반드시 좋은 것은 아니다. => 인덱스가 생성 된 컬럼에서 DML 작업이 빈번한 경우 처리 속도가 느려진다. 따라서 일반적으로 테이..

    [Oracle] Chap11 SEQUENCE

    SEQUENCE 자동 번호 발생기 역할을 하는 객체 순차적으로 정수값을 자동으로 생성해줌 보통 PRIMARY KEY 값을 생성하기 위해 사용 한다. 시퀀스 생성 CREATE SEQUENCE 시퀀스이름 [INCREMENT BY 숫자] -- 다음 값에 대한 증가치, 생략하면 자동 1 기본 [START WITH 숫자] -- 처음 발생시킬 값 지정, 생략하면 자동 1 기본 [MAXVALUE 숫자 | NOMAXVALUE] -- 발생시킬 최대값 지정(10의 27승) [MINVALUE 숫자 | NOMINVALUE] -- 최소값 지정(-10의 26승) [CYCLE | NOCYCLE] -- 값 순환 여부 [CACHE 바이트크기 | NOCACHE] -- 캐쉬메모리 기본값은 20바이트, 최소는 2바이트 -- 해석 : 300..

    [Oracle] Chap10 VIEW

    VIEW SELECT 쿼리문을 저장한 객체이다. 실질적인 데이터를 저장하고 있지 않음 테이블을 사용하는 것과 동일하게 사용할 수 있다. 1) 복잡한 SELECT문을 다시 작성할 필요가 없음 2) 민감한 데이터를 숨길수 있음 CREATE VIEW CREATE [OR REPLACE] VIEW 뷰이름 AS 서브쿼리 -- 사번, 이름, 직급명, 부서명, 근무지역을 조회하고, -- 그 결과를 V_RESULT_EMP 라는 뷰를 생성해서 저장하세요 CREATE VIEW V_RESULT_EMP AS SELECT E.EMP_ID , E.EMP_NAME , J.JOB_NAME , D.DEPT_TITLE , L.LOCAL_NAME FROM EMPLOYEE E LEFT JOIN JOB J ON (E.JOB_CODE = J.J..