标签:事务 return String MongoDB void class userInfo public SpringBoot
1.创建SpringBoot工程,选择 Web、MonogDB 依赖,pom如下:
<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相同
标签:事务,return,String,MongoDB,void,class,userInfo,public,SpringBoot 来源: https://www.cnblogs.com/xiondun/p/15641201.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。