Interview Questions

Spring MongoDb Example

package com.test;

import java.net.UnknownHostException;
import java.util.List;

import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;

import com.mongodb.MongoClient;

public class MongoSpringTest {

        private static String MONGO_HOST = "localhost";
        private static int MONGO_PORT = 27017;
        public static final String DB_NAME = "employeeDb";
        public static final String EMPLOYEE_COLLECTION = "employee";
        public static MongoOperations mongoOps = null;

        static {
                try {
                        mongoOps = getMongoOperations();
                } catch (UnknownHostException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
        }

        public static void main(String[] args) throws UnknownHostException {
                MongoSpringTest mst = new MongoSpringTest();
                List<Employee> lstEmp = mst.getCollection("");
                Employee newEmp = new Employee("Rocky", "25", "50000");
                mst.create(newEmp);
                for (Employee emp : lstEmp) {
                        System.out.println(emp);
                        emp.setSalary("80000");
                        if (!emp.getSalary().equalsIgnoreCase("0")) {

                                mst.update(emp);
                        } else {
                                System.out.println("delete - > " + emp);
                                mst.delete(emp);
                        }
                }
                //
                System.out.println(lstEmp);
        }

        public static MongoOperations getMongoOperations()
                        throws UnknownHostException {
                MongoClient mongo = new MongoClient(MONGO_HOST, MONGO_PORT);
                MongoOperations mongoOps = new MongoTemplate(mongo, DB_NAME);

                return mongoOps;
        }

        public void create(Employee emp) throws UnknownHostException {

                mongoOps.insert(emp, EMPLOYEE_COLLECTION);

        }

        public List<Employee> getCollection(String name) {
                return mongoOps.findAll(Employee.class, EMPLOYEE_COLLECTION);
        }

        public void update(Employee emp) {
                mongoOps.findAll(Employee.class, EMPLOYEE_COLLECTION);

                Query searchUserQuery = new Query(Criteria.where("id").is(emp.getId()));

                Employee savedEmp = mongoOps.findOne(searchUserQuery, Employee.class);

                savedEmp.setSalary(emp.getSalary());
                mongoOps.save(savedEmp);

        }

        public void delete(Employee emp) {
                mongoOps.remove(emp);
        }

}