@Service public class UserServiceImpl implements UserService {
@Autowired private MongoTemplate mongoTemplate;
@Override public List<User> getAllUsers() { return mongoTemplate.findAll(User.class); }
@Override public User getUserById(int rollno) throws RuntimeException{ Query query = new Query(); query.addCriteria(Criteria.where("rollno").is(rollno)); User user = mongoTemplate.findOne(query, User.class); if (user!=null){ return user; } else { throw new UserNotFoundException("User not found"); } }
@Override public User addNewUser(User user) { Assert.notNull(user, "Object to save must not be null!");
return mongoTemplate.save(user);
}
@Override public UpdateResult updateUser(User user) { Query query = new Query(); query.addCriteria(Criteria.where("rollno").is(user.getRollno())); Document doc = new Document(); // org.bson.Document mongoTemplate.getConverter().write(user, doc); return mongoTemplate.upsert(query, Update.fromDocument(doc), User.class); }
@Override public User deleteUser(int usrId) { Query query = new Query(); query.addCriteria(Criteria.where("rollno").is(usrId)); return mongoTemplate.findAndRemove(query, User.class);
}
}
|