如何在java中将Arraylist值存储到数据库中?

如何在java中将Arraylist值存储到数据库中?,java,postgresql,Java,Postgresql,我想用java将Arraylist值存储到数据库(postgresql数据库)中 ArrayList<String> ActiveProcess = new ArrayList<String>(); ArrayList<String> InActiveProcess = new ArrayList<String>(); ArrayList ActiveProcess=new ArrayList(); ArrayList InAct

我想用java将Arraylist值存储到数据库(postgresql数据库)中

ArrayList<String> ActiveProcess = new ArrayList<String>();
        ArrayList<String> InActiveProcess = new ArrayList<String>();
ArrayList ActiveProcess=new ArrayList();
ArrayList InActiveProcess=新建ArrayList();
我想将详细信息存储在数据库ProcessInfo表中,该表包含以下字段:进程名称、进程状态、已发送电子邮件、已发送短信、LastModifiedTime。ActiveProcess包含的进程名称为
server.exe、Receiver.exe.etc
其进程状态为true、已发送电子邮件、已发送短信为false

InActiveProcess包含进程名称为
SmsReceiver.exe、sender.exe.etc
其进程状态为false、已发送电子邮件、已发送短信为true


如何做到这一点。。?提前感谢。

最好的方法是保持简单,避免不正常的数据库设计。因此,我建议使用id

build model类创建一个新表,该表有两列(id,value),由主表引用,以便于在数据库中存储流程信息:

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
  //

}
公共类进程{
公共静态枚举类型{ACTIVE,NOT_ACTIVE};
私有数组列表名称;
私人字符串emailSent;
私人日期修改;
私有布尔状态;
私有类型;
//
//提供构造函数+setter+getter方法
//
}
要在数据库中存储进程,请使用:

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
  //

}
公共作废保存流程(流程p){
ArrayList name=p.GetProcessName();//或者您可以从ArrayList获取迭代器
字符串emailSent=p.getEmailSent();
Date lastModification=p.getLastModification();
布尔状态=p.getStatus();
//
//使用SQL insert语句保存信息
//
}
要获取所有进程,请执行以下操作:

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

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

   return proceses ;
}
public ArrayList getallprocesss(){
ArrayList进程=新的ArrayList();
//
//使用SQL select语句获取进程
//
返回过程;
}

或者您可以将类型传递给方法以获得活动或非活动进程。

这可能是过份的,但是考虑使用像Hibernate之类的东西来管理持久化的对象。它有一个初步的学习曲线,但会让你的生活更轻松。