Java tutorial
/* * 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 Model; import Entity.Etudiant; import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObjectBuilder; import com.mongodb.Cursor; import com.mongodb.DBCursor; import com.mongodb.DBObject; import java.net.UnknownHostException; import java.sql.Connection; import java.util.ArrayList; import java.util.List; import org.bson.types.ObjectId; /** * * @author kohadon */ public class DAO_Etudiant extends DAO_Template<Etudiant> { Cursor cursor; public DAO_Etudiant(Connection conn) throws UnknownHostException { super(conn); if (db.collectionExists("etudiant")) { collection = db.getCollection("etudiant"); } else { DBObject options = BasicDBObjectBuilder.start().add("capped", false).add("size", 2000000000l).get(); collection = db.createCollection("etudiant", options); } } public boolean archive(String uneClasse) { // Vider la base archive a chaque fois. if (db.collectionExists("etudiant_save")) { collection = db.getCollection("etudiant_save"); collection.drop(); } else { DBObject options = BasicDBObjectBuilder.start().add("capped", false).add("size", 2000000000l).get(); collection = db.createCollection("etudiant_save", options); } collection = db.getCollection("etudiant"); DBCursor cursor = collection.find(); try { while (cursor.hasNext()) { collection = db.getCollection("etudiant_save"); collection.insert(cursor.next()); } collection = db.getCollection("etudiant"); BasicDBObject query = new BasicDBObject(); query.append("classe", uneClasse); collection.remove(query); } finally { cursor.close(); } return true; } @Override public boolean create(Etudiant obj) { /* * Cration d'un objet document pour les Etudiants * On lui passe en paramtre les cls associes de ses valeurs */ BasicDBObject doc = new BasicDBObject("prenom", obj.getNom()).append("nom", obj.getPrenom()) .append("classe", obj.getClasse()); /* * On insre dans la BDD */ collection.insert(doc); return true; } @Override public boolean delete(Etudiant obj) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public boolean update(Etudiant obj, Etudiant obje) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } @Override public List<Etudiant> findAll() { //On instancie la liste qui va contenir les clients retourns par la requte List<Etudiant> listEtudiant = new ArrayList<>(); cursor = collection.find(); try { //Pour chaque enregistrement trouv while (cursor.hasNext()) { //On instancie un objet DBObject objet = cursor.next(); //On le cast en client en rentrant les parametres Etudiant etudiant = new Etudiant(objet.get("prenom").toString(), objet.get("nom").toString(), objet.get("classe").toString()); //On ajoute l'id de l'enregistrement etudiant.setId((ObjectId) objet.get("_id")); //On ajoute le client la liste listEtudiant.add(etudiant); } } finally { cursor.close(); } return listEtudiant; } @Override public Etudiant findById(ObjectId id) { //On instancie la liste qui va contenir les clients retourns par la requte List<Etudiant> listEtudiant = new ArrayList<>(); BasicDBObject query = new BasicDBObject("_id", id); cursor = collection.find(query); try { //Pour chaque enregistrement trouv while (cursor.hasNext()) { //On instancie un objet DBObject objet = cursor.next(); //On le cast en client en rentrant les parametres Etudiant etudiant = new Etudiant(objet.get("prenom").toString(), objet.get("nom").toString(), objet.get("classe").toString()); //On ajoute l'id de l'enregistrement etudiant.setId((ObjectId) objet.get("_id")); //On ajoute l'tudiant la liste listEtudiant.add(etudiant); } } finally { cursor.close(); } return listEtudiant.get(0); } }