이번 피드에서는 스프링 환경에서 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에 따라 연결하기 위한 기본정보에 대해 알아보았습니다.
다음 피드에서는 실제 코드에서 사용해보는 예제를 피드로 정리해보도록 하겠습니다.
'노빠꾸 개발일지 > SPRING' 카테고리의 다른 글
스프링 부트(Spring Boot)란? (0) | 2023.02.17 |
---|---|
[Spring JPA] 스프링부트 + JPA + MySQL 프로젝트 세팅하기 - 1 (0) | 2022.09.22 |
[Spring] 스프링 기본 환경세팅 정리(WEB.XML) (0) | 2020.12.27 |
[Spring] Spring Boot 프로젝트 생성하기(Spring Boot란?) (3) | 2020.10.22 |
[Mac OS] 메이븐(Maven) 설치하기(맥북 메이븐 설치하기) - 메이븐 환경설정 (0) | 2020.10.15 |