mybatis整合sprin删除功能
时间: 2023-07-04 11:16:41 浏览: 43
要在MyBatis中使用Spring框架的事务管理器进行删除操作,可以按照以下步骤进行:
1. 在Spring配置文件中配置数据源和事务管理器。
2. 在MyBatis的Mapper文件中编写delete语句。
3. 在Spring配置文件中配置MapperScannerConfigurer,扫描Mapper接口并自动注入到Spring容器中。
4. 在Service层中调用Mapper接口的delete方法,加上@Transactional注解,表示这是一个事务操作。
下面是一个示例代码:
1. 在Spring配置文件中配置数据源和事务管理器
```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/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
```
2. 在MyBatis的Mapper文件中编写delete语句
```xml
<delete id="deleteUserById" parameterType="int">
delete from user where id=#{id}
</delete>
```
3. 在Spring配置文件中配置MapperScannerConfigurer
```xml
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.dao"/>
</bean>
```
4. 在Service层中调用Mapper接口的delete方法,加上@Transactional注解
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
@Transactional
public void deleteUserById(int id) {
userMapper.deleteUserById(id);
}
}
```
注意:@Transactional注解必须要在Service层的方法上加,而不能在Mapper接口的方法上加。如果在Mapper接口的方法上加@Transactional注解,事务不会起作用。