개발군싹

[Spring]MyBatis 연결/등록하기 본문

Spring

[Spring]MyBatis 연결/등록하기

개발자군싹 2023. 12. 12. 00:08

Spring에서 MyBatis 연결/등록하기 ⭐

➡️ pom.xml 라이브러리 가져오기

1. jdbc => ojdbc8.jar

2. spring-jdbc

3. mybatis

4. mybatis-spring

5. common-dbcp

 

<org.springframework-version>5.3.28</org.springframework-version>

<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc11 -->
<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc11</artifactId>
    <version>23.2.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${org.springframework-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.13</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>3.0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
<dependency>
    <groupId>commons-dbcp</groupId>
    <artifactId>commons-dbcp</artifactId>
    <version>1.4</version>
</dependency>

Maven Dependencies에서 라이브러리 등록 확인

 

➡️ root-context.xml DATABASE연결에 필요한 bean등록

1. Database 연결정보를 저장하는 클래스 (BasicDataSource 클래스 - common-dbcp)

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>

<property name="url" value="DB연결 URL 입력"/>

<property name="username" value="DB연결 계정 아이디"/>

<property name="password" value="DB연결 계정 비밀번호"/>

</bean>

 

2. SqlSession을 생성해주는 클래스 (SqlSessionFactoryBean 클래스)

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSoruce"/>

<property name="configLocation" value="classpath:mybatis-config.xml"/>

<!-- classpath: 표기 시 resources까지의 경로를 가져온다 -->

<property name="mapperLocations" value="classpath:mappers/**/*.xml"/>

</bean>

 

3. SqlSession 클래스 (SqlSessionTemplate 클래스)

<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">

<constructor-arg index="0" ref="sqlSessionFactory"/>

</bean>

 

➡️ 기존 mybatis-config.xml과 *-mapper.xml 파일 등록과 동일하게 사용가능

아래 config, mapper 파일생성 방법 참고하기

https://dev-gunssak.tistory.com/31

 

1) mybatis Setting(환경설정)

프로젝트 생성 후 인코딩 작업 ➡️ General → Editor → Text Editors → Seplling ⇒ “UTF-8” 설정 ➡️ WEB → JSP FILES, CSS FILES, HTML FILES ⇒ 각각 “UTF-8” 설정 ⭐ 2개의 설정 파일 생성하기 ( ➡️ 통상적

dev-gunssak.tistory.com

- spring에서는 위 방법과 달리 mybatis-config에 따로 환경설정을 하지 않는다.

(root-context.xml에서 커넥션 설정을 다 해줬기 때문에 라이브러리에 의해 따로 설정 필요 X)

- mybatis는 service 클래스에서 SqlSession객체를 생성/관리한다.

(bean으로 등록된 객체를 Spring이 자동으로 객체 생성해준다. - DI)