
@Autowired
private MongoTemplate mongoTemplate;
/**
* 查找全部
* @return
*/
@Override
public List<User> findAll() {
return mongoTemplate.findAll(User.class);
}
/**
* 根据id得到对象
* @param id
* @return
*/
@Override
public User getUser(Integer id) {
User user = mongoTemplate.findOne(new Query(Criteria.where("id").is(id)), User.class);
return user;
}
/**
* 根据id更新
* @param user
*/
@Override
public void update(User user) {
Criteria criteria = Criteria.where("id").is(user.getId());
Query query = new Query(criteria);
Update update = Update.update("name", user.getName()).set("age", user.getAge());
mongoTemplate.updateMulti(query,update,User.class);
}
@Override
public void insert(User user) {
mongoTemplate.insert(user);
}
/**
* 插入一个集合
*/
@Override
public void insertAll(List<User> users) {
mongoTemplate.insertAll(users);
}
/**
* 根据id删除一个用户
* @param id
*/
@Override
public void remove(Integer id) {
Criteria criteria = Criteria.where("id").is(id);
Query query=new Query(criteria);
mongoTemplate.remove(query,User.class);
}
/**
* 分页查找
* @param user 过滤条件
* @param pageable 分页bean
* @return
*/
@Override
public List<User> findByPage(User user, Pageable pageable) {
Query query=new Query();
if (user!=null&&user.getName()!=null){
//模糊查询
query=new Query(Criteria.where("name").regex("^"+user.getName()));
}
List<User> list=mongoTemplate.find(query.with(pageable),User.class);
return list;
}

