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 사용함
'백엔드 > 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 |