//2.进行插入方法 public boolean charu(Image Image){ boolean flag=false; Connection connection=getCon(); PreparedStatement pst = null; PreparedStatement pst2 = null; String sql1="INSERT INTO tb_imgs(img_name,img_path) values(?,?)"; String sql2="INSERT INTO tb_as(area_id,areaTitle,areaLink,areaMapInfo) values(?,?,?,?)"; Integer enterInfoId = null; try { //Statement.RETURN_GENERATED_KEYS:获取自动增加的id号 pst = (PreparedStatement) connection.prepareStatement(sql1, Statement.RETURN_GENERATED_KEYS); pst.setString(1,Image.getImg_name()); pst.setString(2,Image.getImage()); //提交pst对象 pst.executeUpdate(); ResultSet rst = pst.getGeneratedKeys(); if(rst.next()) { enterInfoId = rst.getInt(1); System.out.print("获取自动增加的id号=="+enterInfoId+"\n"); String areas=banqiImage.getAreas_data();//先获取热区数据 JSONArray json = JSONArray.fromObject(areas); // 首先把字符串转成 JSONArray 对象 if(json.size()>0){ pst2 = connection.prepareStatement(sql2);// sql2表示对另一张表的插入记录 for(int i=0;i<json.size();i++){ JSONObject job = json.getJSONObject(i); // 遍历 jsonarray 数组,把每一个对象转成 json 对象 String areaTitle= (String) job.get("areaTitle"); String areaLink= (String) job.get("areaLink"); String areaMapInfo= (String) job.get("areaMapInfo"); System.out.println("热区名字==="+areaTitle+"\n") ; System.out.println("热区链接==="+areaLink+"\n") ; System.out.println("热区坐标==="+areaMapInfo+"\n"); pst2.setInt(1,enterInfoId); pst2.setString(2,areaTitle); pst2.setString(3,areaLink); pst2.setString(4,areaMapInfo); pst2.addBatch(); } // pst2.executeUpdate(); pst2.executeBatch(); } } flag=true; }catch (SQLException e){ e.printStackTrace(); } return flag; }
jdbc同时插入两个表,两个表有关联关系
猜你喜欢
转载自blog.csdn.net/qq_37164847/article/details/80252305
今日推荐
周排行