spring和mybatis整合步骤
时间: 2023-04-28 11:01:24 浏览: 108
spring和mybatis整合
Spring和MyBatis可以被集成在一起使用,以便更好地处理数据持久化和依赖注入。
下面是Spring和MyBatis集成的步骤:
1. 添加必要的依赖:在pom.xml中添加Spring和MyBatis的依赖。
2. 配置数据源:在Spring的配置文件中配置数据源,以便MyBatis可以使用它。
3. 配置MyBatis:在MyBatis的配置文件中配置数据源和Mapper的位置。
4. 配置Mapper:创建Mapper接口和SQL映射文件,以便MyBatis可以将数据库查询转换为Java对象。
5. 注入Mapper:在Spring的配置文件中配置Mapper,以便可以将其注入到其他类中。
6. 测试:编写测试代码并运行,以确保Spring和MyBatis的集成正常工作。
以下是一个简单的示例:
1. 添加依赖:
```xml
<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>
```
2. 配置数据源:
```xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
```
3. 配置MyBatis:
```xml
<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:mapper/*.xml"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>
```
4. 配置Mapper:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="getUserById" resultType="com.example.model.User">
select * from user where id=#{id}
</select>
</mapper>
```
```java
public interface UserMapper {
User getUserById(int id);
}
```
5. 注入Mapper:
```xml
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.example.mapper.UserMapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
```
```java
@Autowired
private UserMapper userMapper;
```
6. 测试:
```java
@Test
public void testGetUserById() {
User user = userMapper.getUserById(1);
Assert.assertEquals(user.getName(), "test");
}
```
阅读全文