spring和mybatis整合详细说一些
时间: 2023-07-22 10:41:33 浏览: 83
当我们需要在Spring框架中使用MyBatis时,我们需要进行Spring和MyBatis的整合。下面是整合的详细步骤:
1. 导入MyBatis和Spring的相关依赖
在pom.xml文件中添加MyBatis和Spring的相关依赖,例如:
```
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!-- MyBatis-Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.5</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
```
2. 配置数据源
在Spring的配置文件中配置数据源,例如使用MySQL数据库:
```
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
<property name="user" value="root"/>
<property name="password" value="password"/>
</bean>
```
3. 配置MyBatis的SqlSessionFactory
在Spring的配置文件中配置MyBatis的SqlSessionFactory,例如:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.example.model"/>
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
```
其中,typeAliasesPackage表示实体类所在的包,mapperLocations表示Mapper映射文件所在的路径,configLocation表示MyBatis的配置文件路径。
4. 配置MyBatis的MapperScannerConfigurer
在Spring的配置文件中配置MyBatis的MapperScannerConfigurer,例如:
```
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
```
其中,basePackage表示Mapper接口所在的包。
5. 编写Mapper接口和Mapper映射文件
在Java中编写Mapper接口,例如:
```
public interface UserMapper {
User selectUserById(int id);
}
```
在Mapper映射文件中编写SQL语句,例如:
```
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.model.User">
select * from user where id = #{id}
</select>
</mapper>
```
6. 注入Mapper接口
在需要使用Mapper接口的地方注入Mapper接口,例如:
```
@Autowired
private UserMapper userMapper;
```
这样,就可以在Spring框架中使用MyBatis了。
阅读全文