我想将Arraylist值存储到java中的数据库(postgresql数据库)中。
ArrayList<String> ActiveProcess = new ArrayList<String>();
ArrayList<String> InActiveProcess = new ArrayList<String>();
我想将详细信息存储在数据库ProcessInfo表中,其中包含以下字段:Process Name,Process Status,Email Sent,SMS Sent,LastModifiedTime。 ActiveProcess包含进程名称为server.exe, Receiver.exe .etc
,其进程状态为true,Email Sent,SMS Sent为false。
InActiveProcess包含进程名称SmsReceiver.exe, sender.exe .etc
,其进程状态为false,Email Sent,SMS Sent为true。
怎么做...?提前谢谢。
答案 0 :(得分:2)
构建模型类以便于在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
//
}
将进程存储在DB中,使用:
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
//
}
获取所有流程:
public ArrayList<Process> getAllProcesses () {
ArrayList<Process> processes = new ArrayList<Process>();
//
// use SQL select statement to get processes
//
return proceses ;
}
或者您可以将TYPE传递给方法以获取活动或非活动进程。
答案 1 :(得分:1)
最好的方法是保持简单并避免数据库设计异常。所以我建议使用id
在主表引用的两个列(id,value)的新表