阅读量:0
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>
- 配置SqlSessionFactory
在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>
- 配置MapperScannerConfigurer
在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文件
在指定的包下编写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的整合。在实际开发中,可以根据项目需求选择合适的整合方式。