dao.component.TrabajadorDAO.java Source code

Java tutorial

Introduction

Here is the source code for dao.component.TrabajadorDAO.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package dao.component;

import dao.to.TrabajadorTO;
import java.util.ArrayList;

import dao.ds.AccesoDB;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import org.json.JSONObject;
import dao.design.ITrabajadorDAO;
import java.util.Date;
import org.bson.types.ObjectId;

/**
 *
 * @author luigi
 */
public class TrabajadorDAO implements ITrabajadorDAO {
    private DB db;

    public TrabajadorDAO() {
        this.db = new AccesoDB().getConnection();
    }

    @Override
    public String insertartrabajador(TrabajadorTO trabajador) {
        String rpta = null;
        DBCollection table = db.getCollection("trabajador");
        BasicDBObject document = new BasicDBObject();
        document.put("nombre", trabajador.getNombre());
        document.put("genero", trabajador.getGenero());
        document.put("dni", trabajador.getDni());
        document.put("fecha_nac", trabajador.getFecha_nac());
        document.put("estado_civil", trabajador.getEstado_civil());
        document.put("estado", trabajador.getEstado());
        document.put("cuenta", trabajador.getCuenta());
        document.put("seguro_invalidez", trabajador.getSeguro_invalidez());
        document.put("comision", trabajador.getComision());
        document.put("idAFP", new ObjectId(trabajador.getIdAFP()));
        document.put("idCategoria", trabajador.getIdCategoria());
        document.put("idPuesto", trabajador.getIdPuesto());
        table.insert(document);
        return rpta;
    }

    @Override
    public ArrayList<TrabajadorTO> listatrabajadores() {
        ArrayList<TrabajadorTO> lista = new ArrayList<TrabajadorTO>();
        DBCollection table = db.getCollection("trabajador");
        BasicDBObject searchQuery = new BasicDBObject();
        //searchQuery.put("name", "mkyong");

        // BasicDBObject searchQuery2 
        // = new BasicDBObject().append("name", "mkyong-updated");

        DBCursor cursor = table.find(searchQuery);
        while (cursor.hasNext()) {
            String str = cursor.next().toString();
            JSONObject obj = new JSONObject(str);
            String fecha = obj.getJSONObject("fecha_nac").getString("$date");
            Date date = new Date(Integer.parseInt(fecha.substring(0, 4)), Integer.parseInt(fecha.substring(5, 7)),
                    Integer.parseInt(fecha.substring(8, 10)));
            lista.add(new TrabajadorTO(obj.getJSONObject("_id").getString("$oid"), obj.getString("nombre"),
                    obj.getString("genero"), obj.getString("dni"), date, obj.getString("estado_civil"),
                    obj.getString("estado"), obj.getString("cuenta"), obj.getString("seguro_invalidez"),
                    obj.getDouble("comision"), obj.getJSONObject("idAFP").getString("$oid"),
                    obj.getString("idCategoria"), obj.getString("idPuesto")));
        }
        return lista;
    }

    @Override
    public String actualizartrabajador(TrabajadorTO trabajador) {
        String rpta = null;
        DBCollection table = db.getCollection("trabajador");
        // search document where name="mkyong" and update it with new values
        BasicDBObject query = new BasicDBObject();
        query.put("idTrabajador", trabajador.getIdTrabajador());

        BasicDBObject newDocument = new BasicDBObject();
        // newDocument.put("idTrabajador", trabajador.getIdTrabajador());
        newDocument.put("nombre", trabajador.getNombre());
        newDocument.put("genero", trabajador.getGenero());
        newDocument.put("dni", trabajador.getDni());
        newDocument.put("fecha_nac", trabajador.getFecha_nac());
        newDocument.put("estado_civil", trabajador.getEstado_civil());
        newDocument.put("estado", trabajador.getEstado());
        newDocument.put("cuenta", trabajador.getCuenta());
        newDocument.put("seguro_invalidez", trabajador.getSeguro_invalidez());
        newDocument.put("comision", trabajador.getComision());
        newDocument.put("idAFP", trabajador.getIdAFP());
        newDocument.put("idCategoria", trabajador.getIdCategoria());
        newDocument.put("idPuesto", trabajador.getIdPuesto());

        BasicDBObject updateObj = new BasicDBObject();
        updateObj.put("$set", newDocument);

        table.update(query, updateObj);
        return rpta;
    }

    /*
        DB db;
        db=new AccesoDB().getConnection();
        
        /**** Get collection / table from 'testdb' ***
        // if collection doesn't exists, MongoDB will create it for you
        DBCollection table = db.getCollection("user");
        
        /**** Insert ***
        // create a document to store key and value
        BasicDBObject document = new BasicDBObject();
        document.put("name", "mkyong");
        document.put("age", 30);
        document.put("createdDate", new Date());
        table.insert(document);
        
        /**** Find and display ***
        BasicDBObject searchQuery = new BasicDBObject();
        searchQuery.put("name", "mkyong");
        
        DBCursor cursor = table.find(searchQuery);
        
        while (cursor.hasNext()) {
                System.out.println(cursor.next());
        }
        
        /**** Update ***
        // search document where name="mkyong" and update it with new values
        BasicDBObject query = new BasicDBObject();
        query.put("name", "mkyong");
        
        BasicDBObject newDocument = new BasicDBObject();
        newDocument.put("name", "mkyong-updated");
        
        BasicDBObject updateObj = new BasicDBObject();
        updateObj.put("$set", newDocument);
        
        table.update(query, updateObj);
        
        /**** Find and display ***
        BasicDBObject searchQuery2 
                = new BasicDBObject().append("name", "mkyong-updated");
        
        DBCursor cursor2 = table.find(searchQuery2);
        
        while (cursor2.hasNext()) {
                System.out.println(cursor2.next());
        }
        */

}