1.添加依赖与配置
spring:data:mongodb:host: 127.0.0.1database: db_baidu
server:port: 8001
<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver</artifactId><version>3.5.0</version></dependency>
<!-- 二选一 -><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>
2.注入模板
@Autowiredprivate MongoTemplate mongoTemplate;
3.CRUD
新增
@PostMapping("add")public void add(){Users users = new Users();users.setId(1);users.setName("?文博");users.setPwd("123");users.setMessage("爱吃饭");mongoTemplate.save(users); }
use db_bw
db.users.find()
查询全部
@PostMapping("findAll")public List<Users> findAll(){
List<Users> all = mongoTemplate.findAll(Users.class); //根据实体映射查询集合return all;}
根据id删除某一个人
@PostMapping("deletebyid")public String deletebyid(Integer id){
Query query = new Query(Criteria.where("_id").is(id)); //查询_id为接入id的try {
mongoTemplate.remove(query,Users.class); //小坑。需要加上实体否则会找不到return "删除成功";} catch (Exception e) {
e.printStackTrace();return "删除失败";}}
条件更新数据
@PostMapping("update")public String update(Integer id){
//根据id修改 Query query = new Query(Criteria.where("_id").is(id));//修改pwd为789.可为链式编程,继续.setUpdate update = new Update().set("pwd","789");try {
//符合条件修改第一个mongoTemplate.updateFirst(query,update,Users.class);//符合条件修改全部
// mongoTemplate.updateMulti(query,update,Users.class);//没有则执行新增
// mongoTemplate.upsert(query,update, Users.class);return "修改成功";} catch (Exception e) {
e.printStackTrace();return "修改失败";}}
多条件查询
@PostMapping("findby")public List<Users> findby(Integer id,String name,String pwd){
//多条件之间使用and拼接,用的是且的关系Query query = new Query(Criteria.where("_id").is(id).and("name").is(name).and("pwd").is(pwd));List<Users> users = mongoTemplate.find(query, Users.class);return users;}
天天打码,天天进步!