package com.shuju.test2.component;
import com.shuju.test2.bean.DemoUser;
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.Component;
@Component
public class DemoMongodbComponent {
@Autowired
private MongoTemplate mongoTemplate;
public void insert(DemoUser demoUser) {
mongoTemplate.insert(demoUser);
}
public void deleteById(int id) {
Criteria criteria = Criteria.where("id").in(id);
Query query = new Query(criteria);
mongoTemplate.remove(query, DemoUser.class);
}
public void updateById(DemoUser demoUser) {
Criteria criteria = Criteria.where("id").in(demoUser.getId());
Query query = new Query(criteria);
Update update = new Update();
update.set("name", demoUser.getName());
update.set("createTime", demoUser.getCreateTime());
mongoTemplate.updateMulti(query, update, DemoUser.class);
}
public DemoUser selectById(int id) {
Criteria criteria = Criteria.where("id").in(id);
Query query = new Query(criteria);
return mongoTemplate.findOne(query, DemoUser.class);
}
}