java - 如何在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();
}
}
解决方案
推荐阅读
- java - 即使授予读/写权限,也无法从外部存储读取或创建文件
- algorithm - 为什么我们将数组的数量与中位数进行比较,而不是在 CSES 的长度问题中的平均值(下面提到的问题)?
- java - 嵌套类类型参数的注释方法有什么区别?
- python-3.x - 如何使用相机矩阵在图像中以毫米为单位查找点的位置?
- flutter - 如何在 Flutter 中动态更新图表数据的列表元素
- php - Wordpress - 获取自定义帖子类型的类别名称
- python - 打印 Selenium 元素列表时遇到问题(TypeError:列表索引必须是整数或切片,而不是 FirefoxWebElement)
- javascript - 显示和隐藏导航栏(具有“查看购物车”按钮)、隐藏(css)或innerHtml 的更好做法?
- node.js - YOCTO (dunfell) 正确安装预编译二进制文件的方法
- objective-c - Kotlin Native iOS 字符串格式化与可变参数