2010-07-08 4 views
1

Je veux stocker les valeurs Arraylist dans la base de données (base de données postgresql) dans Java.Comment stocker des valeurs Arraylist dans la base de données dans Java?

ArrayList<String> ActiveProcess = new ArrayList<String>(); 
     ArrayList<String> InActiveProcess = new ArrayList<String>(); 

Je veux enregistrer dans une base de données tableau ProcessInfo avec des champs suivants Nom du processus, État du processus, courriel a été envoyé, SMS envoyés, lastModifiedTime. L'ActiveProcess contient les noms de processus server.exe, Receiver.exe .etc son statut de processus est vrai, Email envoyé, SMS envoyé est faux.

Le processus InActiveProcess contient les noms de processus SmsReceiver.exe, sender.exe .etc son état de traitement est false, Email envoyé, SMS envoyé est true.

Comment faire ceci ..? Merci d'avance.

+1

Cela peut être exagéré, mais pensez à utiliser quelque chose comme Hibernate pour gérer vos objets persistants. Il a une courbe d'apprentissage initiale, mais vous facilitera la vie. – Tim

Répondre

2

build classe modèle facilite le stockage d'informations de processus DB:

public class Process { 
    public static enum TYPE { ACTIVE , NOT_ACTIVE } ; 

    private ArrayList<String> names ; 
    private String emailSent emailSent ; 
    private Date lastModification ; 
    private Boolean status ; 
    private TYPE type ; 

    // 
    // provide constructors + setter + getter methods 
    // 

} 

au processus de stockage dans DB, utiliser:

public void saveProcess (Process p) { 
    ArrayList<String> name = p.getProcessesName(); // or you can get iterator from the arraylist 
    String emailSent = p.getEmailSent(); 
    Date lastModification = p.getLastModification(); 
    Boolean status = p.getStatus(); 

    // 
    // use SQL insert statements to save info 
    // 

} 

pour obtenir tous les processus:

public ArrayList<Process> getAllProcesses() { 
    ArrayList<Process> processes = new ArrayList<Process>(); 

    // 
    // use SQL select statement to get processes 
    // 

    return proceses ; 
} 

ou vous pouvez passer TYP E à la méthode pour obtenir les processus actifs ou non actifs.

1

Le meilleur moyen est de garder les choses simples et d'éviter la conception de bases de données sans pareil. Je suggère donc une nouvelle table avec deux colonnes (id, valeur) référencée par la table principale à l'aide id

Questions connexes