스프링 DB연동 - Mybatis를 이용하여 Oracle, MySQL, MariaDB 기본세팅
이번 피드에서는 스프링 환경에서 Mybatis를 이용하여, 대표적인 DB(Oracle, MySQL, MariaDB)에 연결하는 방법을 정리해보겠습니다.
1. pom.xml 필요한 라이브러리 추가하기
우선 제일 먼저 해야할 일은 DB연결을 위한 라이브러리를 추가하는 작업입니다.
- 필요한 라이브러리 목록
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.22</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.9.0</version>
</dependency>
우선 공통적으로 필요한 라이브러리들은 위와같이 mybatis, mybatis-spring, spring-jdbc, commons-dbcp2이다.
pom.xml에 위와같이 추가해주고, 버전은 각자 사용하고자 하는 버전에 맞게 세팅해주면 된다.
- DB별 필요 라이브러리
1. MySQL
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
MySQL을 이용하기 위해서는 mysql-connector-java를 추가해주면 된다.
2. Oracle
<!-- 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>
Oracle의 경우 ojdbc를 추가해주면 된다.
3. MariaDB
<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.0.7</version>
</dependency>
MariaDB의 경우 mariadb-java-client를 추가해준다.
위와 같이 각각 프로젝트에 맞는 라이브러리 추가를 위해 pom.xml에 추가해주면 된다.
2. root-context.xml DB 연결정보 세팅
라이브러리 세팅을 마쳤으면, DB연결정보 세팅을 해주면 된다.
각 DB별 연결정보를 입력 후, sqlSessionfactory와 sqlSession을 정의해준다.
1. MySQL
<!-- DataSource 설정 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test"></property>
<property name="username" value="admin"></property>
<property name="password" value="1234"></property>
</bean>
<!-- sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatisConfig.xml" />
<property name="mapperLocations" value="classpath:/mybatis/mybatisMapper.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory" />
</bean>
2. Oracle
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy" />
<property name="url" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="admin" />
<property name="password" value="1234" />
</bean>
<!-- sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatisConfig.xml" />
<property name="mapperLocations" value="classpath:/mybatis/mybatisMapper.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory" />
</bean>
3. MariaDB
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.mariadb.jdbc.Driver" />
<property name="url" value="jdbc:mariadb://127.0.0.1:3306/test" />
<property name="username" value="admin" />
<property name="password" value="1234" />
</bean>
<!-- sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis/mybatisConfig.xml" />
<property name="mapperLocations" value="classpath:/mybatis/mybatisMapper.xml" />
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory" />
</bean>
각 DB별로 위와같이 root-context.xml을 세팅해주면 된다.
위와같이 세팅이 완료되면, 기본적인 DB세팅이 완료된 것으로 sqlSession을 이용하여 DB를 호출해 DB사용이 가능하다.
이번 피드에서는 스프링 프로젝트에서 MyBatis를 이용하여 각 DB에 따라 연결하기 위한 기본정보에 대해 알아보았습니다.
다음 피드에서는 실제 코드에서 사용해보는 예제를 피드로 정리해보도록 하겠습니다.