노빠꾸 개발일지/SPRING

스프링 DB연동 - Mybatis를 이용하여 Oracle, MySQL, MariaDB 기본세팅

No Backing 2022. 9. 15. 23:11
반응형

이번 피드에서는 스프링 환경에서 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에 따라 연결하기 위한 기본정보에 대해 알아보았습니다.

 

다음 피드에서는 실제 코드에서 사용해보는 예제를 피드로 정리해보도록 하겠습니다.

 

 

반응형