본문 바로가기

백엔드/SQL

Oracle SQL과 Eclipse 연동

0. pom.xml 

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>miniproject</groupId>
	<artifactId>miniproject</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<release>11</release>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<repositories>
		<repository>
			<id>oracle</id>
			<name>ORACLE JDBC Repository</name>
			<url>http://maven.jahia.org/maven2</url>
		</repository>
	</repositories>
	<dependencies>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-dbcp2</artifactId>
			<version>2.9.0</version>
		</dependency>
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc7</artifactId>
			<version>12.1.0.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.12</version>
			<scope>provided</scope>
		</dependency>

xml에 꼭 추가해야 연동가능함

 

 

1. 연동

 

public class MyBatisContext {
	
	public static SqlSession getSqlSession() {
		try {
			
			// DB접속용 dataSource객체 생성
			BasicDataSource dataSource = new BasicDataSource();
			
			dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
			dataSource.setUrl("jdbc:oracle:thin:@서버주소:포트번호:SID");
			dataSource.setUsername("DB아이디");
			dataSource.setPassword("DB비밀번호");
			
			TransactionFactory transactionFactory = new JdbcTransactionFactory(); 
			Environment environment 
            			= new Environment("development", transactionFactory, dataSource);
			Configuration config = new Configuration(environment);
			
			//만든 mapper등록
			config.addMapper(mapper클래스명.class);

			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(config);
			return factory.openSession(true);	//true면 자동으로 commit을 수행함
			
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
		
	}
	
	
}

 

연동해주는 클래스를 따로 만들어서 저장해 두고 외부클래스에서 필요할 때마다 생성자를 만들어 호출하면 된다.

 

 

 

2. Mapper 

 

인터페이스 하나 만들어주고 Oracle SQL에서 했던 거와 똑같이 쿼리문 작성하면 된다.

 

 

<예시>

@Insert({ " INSERT INTO menu(no, name, price, content, phone) ", 
	  " VALUES(seq_menu_no.NEXTVAL, #{name}, #{price}, #{content}, #{phone}) " }) 
public int insertMenu(Menu menu);

 

이런식으로 @Insert, @Select, @Update, @Delete를 사용해서 내부에 쿼리문을 작성하면

Oracle SQL에서 쿼리문을 실행했던 거와 똑같이 적용이 된다.

 

 

그리고는 다른 외부 클래스에서 출력을 한다.

아니면 JUnit을 설치하고 거기서 출력하는 방법도 있다

 

 

3.JUnit

 

=> 실행할 때 특정 코드만 실행하는거 보려고 씀

원랜 내가 원하는 것만 실행하는 걸 보려면 다른 코드들은 주석 처리를 해야 볼 수 있으니깐 JUnit 사용함

 

자바 폴더 우클릭
Java Build Path - Libraries - Classpath - Add Library..

 

 

 

5버전 설정

 

 

 

 

JUnit Test Case 생성

 

 

특정 코드만 실행됨

 

전체 실행 아님

 

'백엔드 > SQL' 카테고리의 다른 글

Oracle SQL : 2023-02-23 (2)  (0) 2023.02.28
Oracle SQL : 2023-02-23 (1)  (0) 2023.02.28
Oracle SQL : 2023-02-22  (0) 2023.02.28
Oracle SQL : 2023-02-21  (0) 2023.02.23
Oracle SQL : 2023-02-20  (0) 2023.02.22