幾年前,我在Java中創建了一個程序來管理實驗室。主要目標是快速訪問人員數據。每個添加到系統中的人都有一個名稱,一個id和兩個「2維字符串數組String [] []」,每列4列和6行。如何將2d字符串數組持久化到sql數據庫中?
每列是該人的公式。所以一個人最多有8個公式,每個公式有6個字符串。
這些目的通過一個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();
}
}
只是讓你知道我做了什麼來解決這個問題。 我爲系統中的每個人創建了2個字符串,每個字符串都包含arraylis的json表示。 我使用了谷歌的Gson庫。 它爲我節省了很多時間。 也使用了MySQL服務器。 和JavaFX作爲GUI。 謝謝@ankhzet, – HoNgOuRu
@GreyBeardedGeek我也跟着你的建議關於GSON庫。 謝謝。 – HoNgOuRu
很高興爲你效勞=) – ankhzet