pom.xml 에 의존 관계 정의
스프링 JDBC(Java DataBase Connectivitiy)
https://mvnrepository.com/artifact/org.springframework/spring-jdbc
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
${org.springframework-version} 이거는 위에 <org.springframework-version>5.2.5.RELEASE</org.springframework-version> 이렇게 정의가 되어있어서 버전을 가져다 쓰는 것이다
ojdbc6 (oracle java database connectivity 드라이버)
https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
mybatis 라이브러리
XML로 쿼리를 작성하게 해주는 라이브러리
https://mvnrepository.com/artifact/org.mybatis/mybatis
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
MyBatis-Spring 라이브러리
스프링과 mybatis를 연동하게 해주는 라이브러리
https://mvnrepository.com/artifact/org.mybatis/mybatis-spring
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
root-context.xml
dataSource 설정
dataSource : 데이터베이스와 관련된 정보를 설정한다
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<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>
sqlSessionFactoryBean 클래스를 빈으로 정의
데이터베이스와 연결을 맺고 끊어질 때까지의 라이프 사이클을 관리해주는 sqlSession 객체를 생성
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations" value="classpath:/sqlmap/**/*_SQL.xml" />
<property name="configLocation" value="/WEB-INF/mybatisAlias/mybatisAlias.xml" />
</bean>
1) dataSource
2) 매퍼 xml의 위치 지정
그래서 /sqlmap/**/*_SQL.xml 경로에 위치한거만 매퍼 파일로 쓴다는 의미이다
**은 중간에 폴더들이 있어도 된다는거고
*_SQL.xml은 _SQL.xml로 끝나는 파일만 해당한다는 것이다
형식을 지켜주자!
3) 마이바티스 config 파일 위치 지정
sqlSessionTemplate 클래스를 빈으로 정의
sqlSessionTemplate : 데이터베이스에 개별적으로 쿼리를 실행시키는 객체
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
mybatisAlias.xml (mybatis-config 파일)
카멜 표기법이나 alias 등을 지정한다
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>