Java 如何从JSON数组中形成两个sql insert语句
我得到了一个JSON数组,如下所示Java 如何从JSON数组中形成两个sql insert语句,java,mysql,jdbc,Java,Mysql,Jdbc,我得到了一个JSON数组,如下所示 [{ "link_video": "123" }, { "link_video": "456" }] 通过解析,我想创建两个insert sql作为 Insert into mytable values (123,456); Insert into mytable values (456,123);. 我已经开始如下所示,你能告诉我如何才能形成两个sql public class Testeee { public static v
[{
"link_video": "123"
}, {
"link_video": "456"
}]
通过解析,我想创建两个insert sql作为
Insert into mytable values (123,456);
Insert into mytable values (456,123);.
我已经开始如下所示,你能告诉我如何才能形成两个sql
public class Testeee {
public static void main(String[] args) throws JSONException, SQLException {
String array = "[{\"link_video\":\"123\"},{\"link_video\":\"456\"}]";
JSONArray array_jsn = new JSONArray(array);
PreparedStatement PstmtdeleteforLinkVideos = null;
Connection con;
String sql = "Insert into mytable values (?,?)";
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sonoo",
"root", "root");
PstmtdeleteforLinkVideos = con.prepareStatement(sql);
for (int i = 0; i < array_jsn.length(); i++) {
String id = array_jsn.getJSONObject(i).getString("link_video");
PstmtdeleteforLinkVideos.setInt(1,Integer.parseInt(id));
PstmtdeleteforLinkVideos.addBatch();
}
PstmtdeleteforLinkVideos.executeBatch();
}
}
公共类测试对象{
公共静态void main(字符串[]args)抛出JSONException、SQLException{
字符串数组=“[{\”链接视频\“:\”123\“},{\”链接视频\“:\”456\“}]”;
JSONArray数组_jsn=新的JSONArray(数组);
PreparedStatement PstmtdeleteforLinkVideos=null;
连接con;
字符串sql=“插入mytable值(?,)”;
con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/sonoo",
“根”、“根”);
PstmtdeleteforLinkVideos=con.prepareStatement(sql);
对于(int i=0;i
您的查询需要两个值。但是下面的代码只指定了一个值
for (int i = 0; i < array_jsn.length(); i++) {
String id = array_jsn.getJSONObject(i).getString("link_video");
PstmtdeleteforLinkVideos.setInt(1,Integer.parseInt(id));
PstmtdeleteforLinkVideos.setInt(2,Integer.parseInt(id));
PstmtdeleteforLinkVideos.addBatch();
}
for(int i=0;i
您还必须设置参数索引2
然后它就会工作。它不工作吗?如果是,它在哪里失败?我无法插入第二个值PstmtdeleteforLinkVideos.setInt(1,Integer.parseInt(id));“无法插入”是什么意思?