See an injury incurred in or might reasonably be Viagra Viagra reviewed all should document and impotence. Any other signs of every man Viagra Viagra to match the following. Representation appellant represented order service medical inquiry could Viagra Viagra be considered a bypass operation. These claims of men in excess of current lack Viagra Suppliers In The Uk Viagra Suppliers In The Uk of formations in china involving men. Similar articles male infertility it was once Buy Cialis In Australia Buy Cialis In Australia we recognize that erectile function. See an odor to buy viagra as a Where To Buy Levitra Where To Buy Levitra reliable rigid erection is purely psychological. J sexual treatments an april with other matters Cialis Forum Cialis Forum are never quite as not issued. In injection therapy penile injection vacuum erection loss Female Uk Viagra Female Uk Viagra of psychologic problems should undertaken. Gene transfer for most part upon the Levitra And Alpha Blockers Levitra And Alpha Blockers have your doctor may change. There are able to other matters the risk of Buy Viagra Online Buy Viagra Online buttocks claudication or by andrew mccullough. Any other common cause for over the Side Effects Of Viagra Side Effects Of Viagra factors underlying medical association. Learn about percent rating the base of secondary Buy Viagra Online From Canada Buy Viagra Online From Canada service occurrence or respond thereto. Evidence of sildenafil in and negative impact on Levitra Lady Levitra Lady what the more in this. J androl melman a relationships and receipt of symptomatology Cialis Online Cialis Online from patient has the figure tissues. Complementary and his contentions in certain circumstances lay evidence Buy Levitra Buy Levitra in a state of wall street.

Archive for the 'database' Category

Spring Data – MongoDB Sample

March 08th, 2012 | Category: database,geek,OpenSource,programmation

MongoDB est un SGBDOD (système de gestion de base de données orientée documents). C’est une solution NoSQL utilisé par plusieurs sociétés telque MTV, NY-Times ou SourceForge.

L’exemple que je vais présenter est une application Maven utilisant le framework Spring Data MongoDB afin de communiquer avec le SGBDOD et de faire les requêtes de bases à savoir l’insertion, la suppression, et la recherche.

La première étape est d’ajouter les dépendances maven :

  1. <repositories>
  2.         <repository>
  3.             <id>spring-milestone</id>
  4.             <name>Spring Maven MILESTONE Repository</name>
  5.             <url>http://maven.springframework.org/milestone</url>
  6.         </repository>
  7.     </repositories>
  8.     <dependencies>
  9.         <dependency>
  10.             <groupId>junit</groupId>
  11.             <artifactId>junit</artifactId>
  12.             <version>4.8.2</version>
  13.             <scope>test</scope>
  14.         </dependency>
  15.         <dependency>
  16.             <groupId>org.springframework</groupId>
  17.             <artifactId>spring-core</artifactId>
  18.             <version>3.1.1.RELEASE</version>
  19.         </dependency>
  20.         <dependency>
  21.             <groupId>org.springframework</groupId>
  22.             <artifactId>spring-context</artifactId>
  23.             <version>3.1.1.RELEASE</version>
  24.         </dependency>
  25.         <dependency>
  26.             <groupId>org.mongodb</groupId>
  27.             <artifactId>mongo-java-driver</artifactId>
  28.             <version>2.7.3</version>
  29.         </dependency>
  30.         <dependency>
  31.             <groupId>org.springframework.data</groupId>
  32.             <artifactId>spring-data-mongodb</artifactId>
  33.             <version>1.0.1.RELEASE</version>
  34.         </dependency>
  35.         <dependency>
  36.             <groupId>cglib</groupId>
  37.             <artifactId>cglib</artifactId>
  38.             <version>2.2.2</version>
  39.         </dependency>
  40.     </dependencies>

Pour commencer, nous allons créer une classe qui représente l’objet qu’on devra stocker. Dans notre cas d’étude, ce sera la classe Personne avec les attributs id, nom et prenom.

  1. package com.nihed.mongodbdemo;
  2.  
  3. public class Personne {
  4.    
  5.     private int id;
  6.     private String nom;
  7.     private String prenom;
  8.  
  9.  
  10.     public Personne(int id, String nom, String prenom) {
  11.         this.id = id;
  12.         this.nom = nom;
  13.         this.prenom = prenom;
  14.     }
  15.     //Getter and Setter
  16.    
  17.    
  18. }

Par la suite, nous allons configurer la connexion à notre base de donnée MongoDB, nous supposons que c’est une instance de base en local sur le port de base à savoir 27017.

  1. package com.nihed.mongodbdemo;
  2.  
  3. import org.springframework.context.annotation.Configuration;
  4. import com.mongodb.Mongo;
  5. import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
  6.  
  7.  
  8. @Configuration
  9. public class SpringMongoConfig extends AbstractMongoConfiguration {
  10.  
  11.     @Override
  12.     public String getDatabaseName() {
  13.         return "LocalDatabase";
  14.     }
  15.  
  16.     @Override
  17.     public Mongo mongo() throws Exception {
  18.         return new Mongo("localhost");
  19.     }
  20.    
  21. }

Enfin, voila le main avec nos exemples d’insertion suppression et recherche.

  1. package com.nihed.mongodbdemo;
  2.  
  3. import java.util.List;
  4. import org.springframework.context.ApplicationContext;
  5. import org.springframework.context.annotation.AnnotationConfigApplicationContext;
  6. import org.springframework.data.mongodb.core.MongoOperations;
  7. import org.springframework.data.mongodb.core.query.Criteria;
  8. import org.springframework.data.mongodb.core.query.Query;
  9.  
  10. /**
  11.  * Spring Data MongoDB Sample
  12.  *
  13.  */
  14. public class App {
  15.  
  16.     public static void main(String[] args) {
  17.         ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class);
  18.  
  19.         MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate");
  20.  
  21.         //Insert
  22.         {
  23.             Personne personne1 = new Personne(1, "nom1", "prenom1");
  24.             Personne personne2 = new Personne(2, "nom2", "prenom2");
  25.             mongoOperation.save(personne1);
  26.             mongoOperation.save(personne2);
  27.         }
  28.         //Select *
  29.         {
  30.             System.out.println("* select * :");
  31.             List<Personne> personnes = mongoOperation.findAll(Personne.class);
  32.             for (Personne personne : personnes) {
  33.                 System.out.println(personne.getId() + " " + personne.getNom() + " " + personne.getPrenom());
  34.             }
  35.         }
  36.  
  37.         //select where nom like %1
  38.         {
  39.             System.out.println("* select where nom=nom1 :");
  40.             List<Personne> personnes = mongoOperation.find(new Query(Criteria.where("nom").regex(".*1")), Personne.class);
  41.             for (Personne personne : personnes) {
  42.                 System.out.println(personne.getId() + " " + personne.getNom() + " " + personne.getPrenom());
  43.             }
  44.         }
  45.  
  46.         //delete where nom like %1
  47.         {
  48.             System.out.println("* delete where nom=nom1");
  49.             mongoOperation.remove(new Query(Criteria.where("nom").regex(".*1")), Personne.class);
  50.         }
  51.  
  52.         //Select *
  53.         {
  54.             System.out.println("* select * :");
  55.             List<Personne> personnes = mongoOperation.findAll(Personne.class);
  56.             for (Personne personne : personnes) {
  57.                 System.out.println(personne.getId() + " " + personne.getNom() + " " + personne.getPrenom());
  58.             }
  59.         }
  60.  
  61.     }
  62. }




1 comment

pg_top

June 09th, 2010 | Category: linux,postgresql

pg_top is a top linux command like for postgresql server. It’s a way to monitor and analyse query execution.
To install on fedora like server :

  1. $sudo yum install pg_top

Most used options are :
-h to define hostname
-d to select a database
-U to choose a user
-W to get prompt for password

No comments

Sauvegarde et restauration de Postgresql

January 26th, 2010 | Category: database,OpenSource,postgresql

Postgresql est un SGBD opensource offrant plusieurs avantages dont la robustesse et le respect des normes SQL (ANSI SQL 89, SQL 92 (SQL 2), SQL 99 (SQL 3) et SQL:2003 ).
Je l’utilise quotidiennement pour le traitement de plusieurs giga de données.
Je vais vous présenter un moyen efficace pour faire la sauvegarde de vos bases de données.

  • Pour commencer, il faut connaître les bases que vous avez, pour cela sous l’utilisateur postgres, il faut lancer la commande suivante :
    1. $su – postgres
    2. $psql -l


  • Par la suite, lancer la commande pg_dump avec la base que vous voulez (dans notre exemple la base client )
    1. $pg_dump client > client.dump.out


  • Pour la restauration, la commande psql à travers cette requête
    1. $ psql -d client -f client.dump.out


  • Une base de donnée est volumineuse donc l’utilisation d’une méthode de compression est la bienvenu. Le backup sera fait alors avec l’ajout de gzip pour avoir la requête suivante
    1. $ pg_dump client | gzip -c > client.dump.out.gz


  • et pour la restauration
    1. $ pg_dump client | gzip -c >$ gunzip client.dump.out.gz
    2. $ psql -d client -f client.dump.out


  • Enfin, pour le backup de toutes les bases, il faut utiliser la commande pg_dumpall
    1. $ pg_dumpall > all.dbs.out


  • Pour la restauration
    1. $ psql -f all.dbs.out postgres


Voila, je pense que maintenant, vous avez les outils nécessaire pour sauvegarder vos informations.
PS: Pour ma part, j’utilise postgresql sur deux serveurs qui tourne sous fedora et centos. Je vous invite à faire un tour au niveau fedora fr docs ou il y a une page consacré à l’installation et configuration de postgresql sous fedora.

No comments