簡體   English   中英

如何將2d字符串數組保存到sql數據庫中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM