일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Kubernetes
- IntelliJ
- ORM
- Oracle
- map
- builder-pattern
- 프로그래머스
- 뷰
- CI
- superBuilder
- JPA
- hibernate
- vuejs
- 해시맵
- 코딩테스트연습
- Vue
- DevOps
- dabase
- 알고리즘
- k8s
- Spring
- CI/CD
- CKA
- cd
- docker
- Di
- java
- SpringMVC
- 자바
- programmers
- Today
- Total
문홍의 공부장
[IntelliJ] IntelliJ Community 에서 Spring MVC 환경 구축 (2) - Oracle DB 연결하기 본문
[IntelliJ] IntelliJ Community 에서 Spring MVC 환경 구축 (2) - Oracle DB 연결하기
moonong 2020. 3. 15. 20:34기본적인 스프링 세팅이 끝났다. 이제 DB를 연결할 차례다.
1. pom.xml 설정
데이터베이스를 사용할 수 있도록 jdbc 의 의존성을 추가한다. DB는 oracle을 사용하였으며, mybatis를 이용할 예정이기 때문에 이 역시 디펜던시를 추가해주었다.
<!-- JDBC (jdbc, dbConnectionPool, Transaction)-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- myBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- oracle -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
<repositories>
<repository>
<id>oracle</id>
<url>http://maven.jahia.org/maven2</url>
</repository>
</repositories>
2. spring-context.xml 설정
데이터베이스 설정용 context 파일을 따로 딸까 하다가 그냥 기본 spring-context.xml 에 내용을 추가하였다. 자바 파일로 configuration 파일을 만드는 것에 익숙해져 있어서, 이번엔 간만에 xml 파일로 설정해보았다.
아래 내용의 username, password는 개인의 사용자 계정/비밀번호를 입력하면 된다.
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="SqlSessionFactory"/>
</bean>
3. pom.xml 설정 - JUnit 테스트
데이터베이스가 제대로 연결 되었는지 확인하여야 한다. Controller에서 Service, DAO, Mapper, View 까지 모두 생성하고 테스트 하기엔 너무 번거롭기 때문에, 우선적으로 JUnit 을 이용해 간단하게 단위 테스트를 진행할 예정이다.
이를 위해 pom.xml 에 JUnit 테스트를 위한 디펜던시를 추가해준다.
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!--spring-test-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
4. 테스트 코드 작성
JUnit 테스트를 위한 코드를 작성하기 위해 테스트 클래스를 생성하여야 한다. JUnit 코드는 /src/test/java 라는 디렉토리에 코드를 작성하여야 한다. 아래와 같이 간단하게 패키지를 만들어, 테스트 클래스와 코드를 작성하였다.
아래와 같이 테스트 코드를 작성한다.
- Runwith 어노테이션은 이 클래스를 테스트 클래스로 사용하겠다는 설정
- WebAppconfiguration은 프로젝트의 web.xml이 아닌 가상의 web.xml을 사용하겠다는 의미이다.
- ContextConfiguration은 어플리케이션 설정과, 디스패처 서블릿의 xml설정을 디렉토리에서 가져오겠다는 어노테이션이다.
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/main/webapp/WEB-INF/*-context.xml"})
public class MainTest {
@Autowired
private DataSource ds;
@Test
public void testConnection() {
try (Connection con = ds.getConnection()) {
System.out.println(("DB 연결 성공 : " + con));
} catch (Exception e) {
e.printStackTrace();
}
}
}
코드 입력 후 Ctrl + Shite + F10 단축키, 혹은 우클릭 - Run testConnection(); 을 선택하여 실행한다.
DB 연결 성공 메세지가 찍히면 성공이다.
'개발 > tools' 카테고리의 다른 글
[Jenkins] Docker를 사용하여 Jenkins 설치하기 (0) | 2022.01.08 |
---|---|
[IntelliJ] IntelliJ에서 Lombok 설정하기 (0) | 2020.03.31 |
[IntelliJ] IntelliJ Community 에서 Spring MVC 환경 구축 (0) | 2020.03.15 |
[IntelliJ] IntelliJ (인텔리제이) 설치하기 (0) | 2020.03.15 |