[英]How can I persist 2d string arrays into a sql database?
幾年前我用Java創建了一個程序來管理實驗室。 主要目標是快速訪問人員數據。 添加到系統中的每個人都有一個名稱,一個id和兩個“2維字符串數組String [] []”,每列4列,每行6行。
每列都是該人的公式。 因此,一個人最多有8個公式,每個公式包含六個字符串。
這些對象由具有更多功能的對象(系統類)中的arraylist控制,如在該數組內搜索,更新刪除等...
我用於存儲系統類和對象arraylist的技術是將數據序列化為文件。 每次對象發生變化時,整個系統類都會被序列化。 現在效率非常低,因為里面有3000人。 該文件大約2 MB。
我需要擺脫這些保存數據的方式,我正在考慮使用數據庫,以便更好地搜索並讓其他客戶端訪問相同的數據。 我面臨的問題是如何為每個人保存兩個2d字符串數組。 我應該創建一個包含8個字符串的數組,並將每個數組連接起來代表一個列嗎? 我應該在數據庫中為多對多關系創建2個額外的表嗎?
謝謝。
BTW; 我打算使用JavaFX來制作程序的新版本。
這是我想要堅持的課程。
package ingresodefichas;
import java.io.*;
public class Ficha implements Serializable {
private String nombre;
private String apellido;
private String apellido2;
private int id;
private String tabla1[][];
private String tabla2[][];
public Ficha() {
this.setNombre("sin nombre");
this.setApellido("sin Apellido");
this.setTabla1(new String[6][4]);
this.setTabla2(new String[6][4]);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public String getApellido2() {
return apellido2;
}
public void setApellido2(String apellido2) {
this.apellido2 = apellido2;
}
public String[][] getTabla1() {
return tabla1;
}
public void setTabla1(String[][] tabla1) {
this.tabla1 = tabla1;
}
public String[][] getTabla2() {
return tabla2;
}
public void setTabla2(String[][] tabla2) {
this.tabla2 = tabla2;
}
public String toString(){
return this.getId() + " - " + this.getNombre() + " " + this.getApellido() + " " + this.getApellido2();
}
}
如果String[][]
表中的每個字符串都是唯一的,那么將數據分成另一個表沒有任何好處,規范化嘗試只會導致額外的不需要的邏輯,比如通過關系獲取字符串並確保相關的字符串將被刪除在人員刪除。
為了將整個表保存到數據庫列,您可以像往常一樣序列化/反序列化它們(字符串表)。
如果您提供問題,例如,兩個人的序列化字符串表與公式,那么SO社區將能夠給出更適合情況的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.