我的spring-boot-study之mongodb的应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我的spring-boot-study之mongodb的应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3925字,纯文字阅读大概需要6分钟。
内容图文
![我的spring-boot-study之mongodb的应用](/upload/InfoBanner/zyjiaocheng/523/bf6ef4de77e9487e9f5adbea2bc94a8f.jpg)
我的spring-boot-study之mongodb的应用
1.首先编写pom文件,加入包依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<!-- mongodb驱动 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<!-- mongodb驱动结束 -->
</dependencies>
2.编写代码
2.1 编写实体entity.User
package com.example.mongodb.entity;
import lombok.Data;
import org.springframework.data.mongodb.core.mapping.Document;
@Data
@Document("user")
public class User {
private String id;
private String name;
private Integer age;
}
注:@Document注解是mongodb带的,用于标注该类对应的哪个集合
2.2 添加单测文件com.example.mongodb.UserTest
package com.example.mongodb;
import com.example.mongodb.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
@SpringBootTest
@RunWith(SpringRunner.class)
public class UserTest {
@Resource
private MongoTemplate mongoTemplate;
@Test
public void getAll(){
mongoTemplate.findAll(User.class).forEach(System.out::println);
}
}
注:自动注入类MongoTemplate也是由spring-boot-starter-data-mongodb管理,提供对应集合的增删改查操作。使用时需要指定集合对应类是哪一个。
2.3 添加控制器controller.UserController文件
package com.example.mongodb.controller;
import com.example.mongodb.entity.User;
import com.mongodb.client.result.DeleteResult;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@RestController
@RequestMapping("/rest")
public class UserController {
@Resource
private MongoTemplate mongoTemplate;
@GetMapping("/user")
public List<User> getAll() {
return mongoTemplate.findAll(User.class, "user");
}
@PostMapping("/user")
public User add(@RequestBody User user) {
return mongoTemplate.insert(user, "user");
}
@DeleteMapping("/user/{id}")
public DeleteResult delete(@PathVariable String id) {
Query query = new Query();
query.addCriteria(Criteria.where("_id").is(id));
return mongoTemplate.remove(query, User.class, "user");
}
}
注:Query类实际上就是mongodb的查询类,此处作用是当作过滤条件,先查出,再删除。当然也可当作查询直接使用,例如:
@GetMapping("/user/{id}")
public User get(@PathVariable String id){
Query query=new Query(Criteria.where("_id").is(id));
return mongoTemplate.findOne(query,User.class);
}
2.4 application.yml中配置连接字符串
spring:
data:
mongodb:
# mongodb://username:password@serverIp:port/dbname
uri: "mongodb://test_admin:welcome@localhost:27017/test"
2.5 最后的项目结构如图
3.编译
这里笔者使用idea-build编译不过,必须使用mvn idea:idea命令进行编译才能通过,原因暂不明了,如果有知道的小伙伴欢迎再下面留言。
在控制台进入到mongodb的模块目录,直接输入mvn idea:idea命令即可用maven编译。
4.测试
- 单测直接跑UserTest.getAll()方法,能通过即表示测试成功。
- 也可以用postman访问/rest/user下的restful端口
我的spring-boot-study之mongodb的应用
标签:col let path 小伙伴 find 需要 必须 oca dep
本文系统来源:https://www.cnblogs.com/zhoushiya/p/12868312.html
内容总结
以上是互联网集市为您收集整理的我的spring-boot-study之mongodb的应用全部内容,希望文章能够帮你解决我的spring-boot-study之mongodb的应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。