Spring整合MyBatis主要有兩種方式:一種是通過XML配置文件的方式,另一種是通過注解的方式。下面分別介紹這兩種方式的步驟:
方式一:XML配置文件整合
在項目的pom.xml文件中添加Spring和MyBatis的依賴:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
</dependencies>
在Spring的配置文件(如applicationContext.xml)中配置數據源:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
在Spring的配置文件中配置SqlSessionFactory:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml" />
</bean>
在Spring的配置文件中配置MapperScannerConfigurer,用于掃描Mapper接口:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
在指定的包下編寫Mapper接口,并在對應的XML文件中編寫SQL映射。
方式二:注解整合
添加依賴和配置數據源(與方式一相同)
在Mapper接口上添加@Mapper注解:
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
User getUserById(int id);
}
在Spring的配置文件中配置MapperScannerConfigurer(與方式一相同)
編寫Mapper接口和XML文件(與方式一相同)
通過以上步驟,就可以實現Spring與MyBatis的整合。在實際開發中,可以根據項目需求選擇合適的整合方式。