ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 0823. JDBC 작업과 Maven
    DB/Oracle 2023. 8. 23. 15:01

    JDBC

    sys 계정작업

     

    --JDBC
    --SYS 계정 작업
    
    CREATE USER jdbc_ex IDENTIFIED BY jdbc_ex -- 패스워드임
    DEFAULT TABLESPACE USERS
    TEMPORARY TABLESPACE TEMP;
    --권한 부여
    GRANT CONNECT, RESOURCE, DBA TO jdbc_ex;

     


    이클립스에서 jdbc_ex 이름의 자바 프로젝트 생성

     


    Eclipse Data Source Explorer View 설정

     

    이클립스의 데이터베이스 연동 기능을 사용하기

    Data source explorer

     

     

    1. view 추가하기


    이클립스 상단 탭 [Window] - [Show View] - [Other]

    [Data Source Explorer] 더블클릭 

     

    이클립스 하단에 탭이 생성된다.

    Database Connection 폴더 선택 후 [New...]

     

    *name은 커넥션 이름 

    >> Localhost Oracle

    설명은 그냥 내 마음대로 했다.

     

    드라이버 선택 

     

    Name/Type 탭에서 "Oracle Thin Driver" 버전 11 선택 

     

    JAR List 탭 으로 이동 후 기존의 14버전 jar 파일 [Remove JAR]

     

    [Add JAR] 선택해서 ojdbc11.jar 추가하기 (없으면 다운로드)

    경로 설정(폴더 만들어서 지정)

    >> C:\sqldeveloper\jdbc\lib\ojdbc11.jar 추가

    ojdbc11.zip
    4.62MB

     

     

    [OK] 누르면 커넥션 디테일 창이 열린다.

    체크 부분(*비밀번호는 아까 디비버에서 설정한 거라 jdbc_ex랑 같음) 바꿔주고 [Test Connection]

     

     

    Ping 성공했으니 OK 후 [Finish]

     

    이클립스 하단 창에서 확인하면 'xe 항목'이 추가되었다.

     

    우클릭으로 연결 설정 가능 


    2. 소스폴더 분리해 주기

     

    jdbc_ex 에서 [New] - [Source Folder] 생성

     

     

    폴더이름은 복수형으로 "resources" 기입

     

    만들어진 resources 폴더에서 [New] - [Other] 

     

    sql 검색해서 SQL File 을 만들어주자

     

    File name : database

    타입, 프로필 네임, 데이터베이스 네임 만들어줬던 거 선택 후 Finish

     

    이클립스 창을 보면 Connection profile 이 보인다.

    아래 탭에서 밑줄 친 "Localhost ~ 이하생략 "도 Connection profile임을 보여준다.

     

    우클릭해서 보면 Alt + S 가 실행키임이 보인다.

    Execute Current Text

     

    실행 후 아래 탭의 Result 1 항목을 누르면 결과가 보인다.

    SQL의 단순 작업을 할 수 있다.

     

     

     

    이게 안 되면 디비버에서 작업해도 상관없다.


    🌱 테스트 테이블 만들기

     

    한 줄 실행은 ALT + S
    여러 줄 블록은 ALT + X
    ❗COMMIT 을 꼭 해 줘야하고 커밋은 뒤에 세미콜론을 안 붙인다.

    ⭐이클립스 기동 시, 연결이 끊기므로 (디비버 연결도 끊어줘야 한다.)
    CONNECTION 작업을 해 주고 상단에 CONNECTION PROFILE 바가 뜨는지 잘 확인한다.

     

     

    select * from scott.dept;
    
    DROP TABLE USERS;
    
    CREATE TABLE USERS (
    	ID VARCHAR2(12) PRIMARY KEY,
    	PASSWORD VARCHAR2(12) NOT NULL,
    	NAME VARCHAR2(30) NOT NULL,
    	ROLE VARCHAR2(6) NOT NULL
    	);
    	
    INSERT INTO USERS(ID, PASSWORD, NAME, ROLE)
    VALUES('guest', 'guest123', '방문자', 'USER');
    
    INSERT INTO USERS(ID, PASSWORD, NAME, ROLE)
    VALUES('admin', 'admin123', '관리자', 'ADMIN');
    
    INSERT INTO USERS(ID, PASSWORD, NAME, ROLE)
    VALUES('member', 'member123', '일반회원', 'MEMBER');
    
    COMMIT
    
    SELECT * FROM USERS;

     

     


    JDBC란?

    Java Database Connectivity


    DB와 연결해서 입출력을 지원하는 패키지이다.
    데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 "추상클래스""인터페이스"로 구성된다. 어떻게 구현할지는 모르되, 표준 사용법을 규정한 것이다.

     

    - 모두 동일한 형태로 프로그래밍이 가능하며 드라이버를 맞게 설치하는 게 필요하다.

     => 제품이 달라져도 프로그램 코드가 똑같다.

    - DB가 반드시 본인 컴퓨터에 있을 필요가 없고 네트워크(TCP/IP)로 연결하면 된다.

     


     ** Maven 사용 **

     

    jdbc_ex를 maven 프로젝트로 바꾸기

    우클릭 - [Configure] - [Convert to Maven Project] 선택 

    뒤에 MEMBER 일반회원 오타이므로 수정했다.😥

     

    그대로 두고 Finish

    아무 것도 수정 필요 없음

     

    ⭐pom.xml 파일 생성!

    "의존라이브러리를 자동으로 다운로드해서 나의 파일에 포함시켜주는 역할"

    xml : 태그 Markup언어

     

    <build> 윗칸에서 Ctrl + 스페이스

    *dependencies 선택

    이 사이에 라이브러리 코드를 넣어줄 것이다.

     

     

    mvn 구글 검색 후 레퍼지토리 들어가서 ojdbc 11 검색 후 맨 위 항목 선택 

     

     

    * 버전은 너무 최신보다는 살짝 이전버전이 낫다. 

     

     

     

    Maven 탭에서 코드를 자동으로 복사해 온다.

    	<dependencies><!--
    		https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11 -->
    		<dependency>
    			<groupId>com.oracle.database.jdbc</groupId>
    			<artifactId>ojdbc11</artifactId>
    			<version>21.8.0.0</version>
    		</dependency>
    	</dependencies>
    	<build>

    *ctrl shift F 정렬

     

    라이브러리 관리가 더 편해진다

    Outline

     

     

    똑같이 lombok도 mvn 레포지토리에서 검색 후 maven 버전 다운

     

    	<dependencies><!--
    		https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11 -->
    		<dependency>
    			<groupId>com.oracle.database.jdbc</groupId>
    			<artifactId>ojdbc11</artifactId>
    			<version>21.8.0.0</version>
    		</dependency>
    		<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    		<dependency>
    			<groupId>org.projectlombok</groupId>
    			<artifactId>lombok</artifactId>
    			<version>1.18.28</version>
    			<scope>provided</scope>
    		</dependency>
    
    	</dependencies>
    	<build>

     

    🖤이런 코드는 자주 쓸 테니까 메모장에 따로 복사해 두면 편하다.


    <build>란?
    .java => (번역) => .class "compile" : 특정 타켓 소스 하나를 번역해서 기계어로 만드는 것
                             => .class 
                             => .class 
                             => .class 클래스들
                             .............. "build" : 전체를 컴파일하는 것

    *통합 Build 툴
    Maven : Eclipse 특화(xml)
    Gradle : intelliJ 특화

    'DB > Oracle' 카테고리의 다른 글

    0822. 트랜잭션, 데이터정의어(DDL)  (0) 2023.08.22
Designed by Tistory.