mongodb实现事务只需两步(spring boot)
1 增加配置类package com.mongo.demo.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.mongodb.MongoDbFacto
·
1 增加配置类
package com.mongo.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.MongoTransactionManager;
/**
* 配置mongodb 事务
* 增加此类 此外需要事务的方法上增加 @Transactional(rollbackFor = Exception.class) 开启事务
*/
@Configuration
public class MongoTransactionConfiguration {
@Bean
MongoTransactionManager mongoTransactionManager(MongoDbFactory factory) {
return new MongoTransactionManager(factory);
}
}
2 在方法上增加注解@Transactional 即可
import com.mongo.demo.model.Comment;
import com.mongo.demo.util.MongoUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Set;
@Service
public class DataDaoImpl implements DataDao {
@Autowired
private MongoTemplate mongoTemplate;
@Override
@Transactional(rollbackFor = Exception.class)
public void transactionalTest(Comment comment) {
save(comment);
int flag=1/0;
deleteById(comment.getId());
}
}
更多推荐
已为社区贡献18条内容
所有评论(0)