1.引入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
2.连接mongo数据库
spring.data.mongodb.host=192.168.123.456
spring.data.mongodb.port=27017
spring.data.mongodb.database=admin
spring.data.mongodb.password=root
spring.data.mongodb.username=root
3.curd
package com.example.controller;
import com.alibaba.fastjson.JSON;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
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.data.mongodb.core.query.Update;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("mongo")
public class MongoController {
@Autowired
private MongoTemplate mongoTemplate;
@GetMapping("insert")
public String index(String name,Integer age){
UserEntity userEntity = new UserEntity();
userEntity.setName(name);
userEntity.setAge(age);
mongoTemplate.insert(userEntity);
return userEntity.toString();
}
@GetMapping("delete")
public String delete(Integer age){
Query query = Query.query(Criteria.where("age").is(age));
mongoTemplate.remove(query, "userEntity");
return "OK";
}
@GetMapping("update")
public String update(String name){
Query query = Query.query(Criteria.where("name").is(name));
Update update = Update.update("age",18);
mongoTemplate.updateMulti(query, update, UserEntity.class);
return "OK";
}
@GetMapping("get")
public String get(String name){
Query query = Query.query(Criteria.where("name").is(name));
UserEntity one = mongoTemplate.findOne(query, UserEntity.class);
return one.toString();
}
@GetMapping("page")
public Object page(){
Query query = new Query();
List<Sort.Order> orders = new ArrayList<>();
orders.add(Sort.Order.asc("age"));
Sort sort = Sort.by(orders);
Pageable pageable = PageRequest.of(0,5,sort);
query.with(pageable);
List<UserEntity> userEntities = mongoTemplate.find(query, UserEntity.class);
return JSON.toJSON(userEntities);
}
@Data
class UserEntity{
private String name;
private int age;
}
}
模糊匹配
//完全匹配
Pattern pattern = Pattern.compile("^李木子$", Pattern.CASE_INSENSITIVE);
//右模糊
Pattern pattern = Pattern.compile("^李木子.*$", Pattern.CASE_INSENSITIVE);
//左模糊
Pattern pattern = Pattern.compile("^.*李木子$", Pattern.CASE_INSENSITIVE);
//模糊匹配
Pattern pattern = Pattern.compile("^.*李木子.*$", Pattern.CASE_INSENSITIVE);
Query query = Query.query(Criteria.where(name).regex(pattern));
List<UserEntity> users = mongoTemplate.find(query, UserEntity.class);