-
0823. JDBC 작업과 MavenDB/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 추가
[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 가 실행키임이 보인다.
실행 후 아래 탭의 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] 선택
그대로 두고 Finish
⭐pom.xml 파일 생성!
"의존라이브러리를 자동으로 다운로드해서 나의 파일에 포함시켜주는 역할"
<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 정렬
라이브러리 관리가 더 편해진다
똑같이 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