首页 > 解决方案 > 如何在java中将数组插入mysql数据库(列和值是数组)?

问题描述

当我想将一个数组保存到 mysql 数据库中时,我的代码有问题,这是一个列和值的数组。

问题是我写的查询没有错误消息但数据数组没有存储在数据库中,可能我的查询有问题,或者当列及其值是数组时这个查询不正确。

有什么建议如何在单个查询中查询列和值是否为数组?

这是我的插入代码:

while (resultSet.next()){
     for (int columnIndex =1; columnIndex <=columnCount; columnIndex++){

            roll[columnIndex] = metaData.getColumnName(columnIndex);
           isi[columnIndex] = cipher.toString();
           String masuk = "Insert into "+jComboBox2.getSelectedItem()+ " (?) VALUES (?)";       

            kolom= con.prepareStatement(masuk);
            kolom.setString(columnIndex,roll[columnIndex]); 
            kolom.addBatch();
            kolom.executeBatch();

            value= con.prepareStatement(masuk);
            value.setString(columnIndex,isi[columnIndex]); 
            value.addBatch();
            value.executeBatch();

         }
  }

这是我得到数组的代码:

 try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/"+jComboBox1.getSelectedItem(),"root","");
        String sql = "Select * From "+jComboBox2.getSelectedItem(); 
        pst = con.prepareStatement(sql);
        ResultSet resultSet = pst.executeQuery();
        ResultSetMetaData metaData = resultSet.getMetaData();  
        int columnCount = metaData.getColumnCount();



            while (resultSet.next()) {

            //perulangan untuk menghitung jumlah isi kolom dalam tabel
                for (int columnIndex =1; columnIndex <=columnCount; columnIndex++){
            //inisialisasi 
                    roll[columnIndex] = resultSet.getString(columnIndex);
                    String key = jTextField2.getText();
                    init_Box(key, key.length());
                    plain = roll[columnIndex];
                    generate_chiper();
                    System.out.println(cipher.toString());
                    isi[columnIndex] = cipher.toString();

                    } 

            }

标签: javamysqlsqlarrays

解决方案


推荐阅读