创建实体类package com.zzx.mongodb.entoty;
public class MongoEntity {
private String name;
private String age;
private String sex;
private String money;
@Override
public String toString() {
return "MongoEntity{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
", sex='" + sex + '\'' +
", money='" + money + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
}
5.创建service类 import com.zzx.mongodb.entoty.MongoEntity;
import org.springframework.beans.factory.annotation.Autowired;
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.stereotype.Service;
import java.util.List;
@Service
public class MongoService {
@Autowired
MongoTemplate template;
public Object save(MongoEntity entity){
return template.save(entity);
}
public List<MongoEntity> all(){
return template.findAll(MongoEntity.class);
}
public MongoEntity one(String age){
Query query=new Query(Criteria.where("age").is(age));
return template.findOne(query,MongoEntity.class);
}
public Object del(String age){
Query query=new Query(Criteria.where("age").is(age));
return template.remove(query,MongoEntity.class);
}
public Object update(MongoEntity entity){
Query query=new Query(Criteria.where("name").is("lqq"));
Update update=new Update().set("age",entity.getAge()).set("name",entity.getName()).set("sex",entity.getSex());
return template.updateMulti(query,update,MongoEntity.class);
}
}
6.创建controller类import com.zzx.mongodb.entoty.MongoEntity;
import com.zzx.mongodb.service.MongoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class MongoController {
@Autowired
MongoService service;
@GetMapping("/save")
public Object save(MongoEntity entity){
Object code=service.save(entity);
return code;
}
@GetMapping("/all")
public List<MongoEntity> all(){
return service.all();
}
@GetMapping("/one")
public MongoEntity one(String age){
return service.one(age);
}
@GetMapping("/del")
public Object del(String age){
return service.del(age);
}
@GetMapping("/update")
public Object update(MongoEntity entity){
return service.update(entity);
}
}
7.启动测试浏览器 地址栏输入:http://localhost:8080/save?name=zzx&age=23&sex=male&money=8419
这样其实就已经大功告成了,但是最后可以使用抽象泛型封装dao类,用起来更加灵活。import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import java.util.List;
public abstract class MongodbDao<T> {
protected abstract Class<T> getEntityClass();
@Autowired
private MongoTemplate template;
public Object save(T t){
return this.template.save(t);
}
public List<T> all(){
return this.template.findAll(this.getEntityClass());
}
public T one(String id){
Query query=new Query(Criteria.where("name").is(id));
return this.template.findOne(query,this.getEntityClass());
}
}
使用时创建派生类 import com.zzx.mongodb.entoty.MongoEntity;
import org.springframework.stereotype.Repository;
@Repository
public class ExMongodbDao extends MongodbDao<MongoEntity> {
@Override
protected Class getEntityClass() {
return MongoEntity.class;
}
}
controller类import com.zzx.mongodb.dao.ExMongodbDao;
import com.zzx.mongodb.entoty.MongoEntity;
import com.zzx.mongodb.service.MongoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class MongoController {
@Autowired
private MongoService service;
@Autowired
private ExMongodbDao dao;
@GetMapping("/save")
public Object save(MongoEntity entity){
Object code=service.save(entity);
return code;
}
@GetMapping("/all")
public List<MongoEntity> all(){
return dao.all();
}
@GetMapping("/one")
public MongoEntity one(String age){
return dao.one(age);
}
@GetMapping("/del")
public Object del(String age){
return service.del(age);
}
@GetMapping("/update")
public Object update(MongoEntity entity){
return service.update(entity);
}
}
这样用起来更灵活更方便