MongoDB与SpringBoot整合(支持事务)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB与SpringBoot整合(支持事务),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3154字,纯文字阅读大概需要5分钟。
内容图文
parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> ...... <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ...... </dependencies> ......
2.配置yml文件
# 服务端口号 server: port: 8081 spring: # 服务名称 application: name: test-springboot-mongo #数据库 data: mongodb: uri: mongodb://localhost:27017/testmongo
3.创建配置类,开启事务
@Configuration public class TransactionConfig { @Bean MongoTransactionManager transactionManager(MongoDbFactory factory){ return new MongoTransactionManager(factory); } }
4.创建Entity实体类
public class BaseEntity { @Id private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } }
@Document public class User extends BaseEntity { private String userName; private String passWord; @DBRef private UserInfo userInfo; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } }
@Document public class UserInfo extends BaseEntity { private int age; private String nickName; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } }
5.创建service
@Service public class UserService { @Resource MongoTemplate mongotemplate; public List<User> getAllUser(){ return mongotemplate.findAll(User.class); } @Transactional public boolean addUser(User user, UserInfo userInfo){ user.setUserInfo(userInfo); mongotemplate.save(userInfo); // int a = 1/0; //事务测试代码 mongotemplate.save(user); return true; } }
6.创建controller
@RestController public class UserController { @Resource UserService userService; @RequestMapping(value = "/getAllUser") public List<User> getAllUser(){ return userService.getAllUser(); } @RequestMapping(value = "/addUser") public boolean addUser(User user, UserInfo userInfo){ userService.addUser(user, userInfo); return true; } }
7.运行 SpringBootApplication 启动服务,在浏览器中输入 " http://localhost:8081/addUser?userName=z3&passWord=123&age=12&nickName=zhangsan " 测试
@SpringBootApplication public class TestspringmongoApplication { public static void main(String[] args) { SpringApplication.run(TestspringmongoApplication.class, args); } }
8.注:以上为MongoTemplate方式,MongoTemplate和MongoRepository方式都与Spring整合SpringDataMongoDB相同
MongoDB与SpringBoot整合(支持事务)
标签:方式 from set return 浏览器 pos 运行 启动服务 color
本文系统来源:https://www.cnblogs.com/vettel0329/p/10778931.html
内容总结
以上是互联网集市为您收集整理的MongoDB与SpringBoot整合(支持事务)全部内容,希望文章能够帮你解决MongoDB与SpringBoot整合(支持事务)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。