public String insertData( String resultsetname, String resultdesc, String resultPermission, String reportids, String repFlag, String queryID, SimpleJdbcTemplate template, Timestamp dstamp) throws Exception { log.info("insert----> "); PreparedStatement ps1 = null; PreparedStatement ps2 = null; ApplicationContext ctx = AppContext.getApplicationContext(); com.nrg.lau.dao.SharedConnectionDAO shConnection = (com.nrg.lau.dao.SharedConnectionDAO) ctx.getBean("getSharedConnection"); Connection con = shConnection.getConVerify(); String success = ""; // queryID = ""; try { long queryRsltID = CommonDAO.getUniqueId(template); log.info("Generated Primary Key for save resultset -> " + queryRsltID); log.info("queryRsltID------------" + queryRsltID); log.info("queryID----------------" + queryID); log.info("resultsetname----------" + resultsetname); log.info("resultdesc-------------" + resultdesc); log.info("resultPermission-------------" + resultPermission); log.info("userId-----------------" + userId); log.info("dt---------------------" + dstamp); log.info("queryRsltID------------" + queryRsltID); ps1 = con.prepareStatement(sqlParent); ps1.setLong(1, queryRsltID); ps1.setString(2, ""); ps1.setString(3, resultsetname); ps1.setString(4, resultdesc); ps1.setString(5, userId); ps1.setObject(6, dstamp); ps1.setString(7, userId); ps1.setObject(8, dstamp); ps1.setString(9, resultPermission); ps1.addBatch(); ps2 = con.prepareStatement(sqlChild); String strReportIds = reportids; String[] reportIdArray = strReportIds.split(","); for (int i = 0; i < reportIdArray.length; i++) { String rprtId = reportIdArray[i]; Long rptId = Long.valueOf(rprtId); // log.info(" rptId-----------"+rptId); ps2.setLong(1, queryRsltID); ps2.setLong(2, rptId); ps2.setString(3, repFlag); ps2.setString(4, userId); ps2.setObject(5, dstamp); ps2.addBatch(); } log.info(" Start Batch execute------------------------------------------------"); int[] rtn1 = ps1.executeBatch(); log.info(" rtn1---------" + rtn1); ps1.close(); log.info(" END executeBatch 1------------------------------------------------:"); int[] rtn2 = ps2.executeBatch(); log.info(" rtn2 length---------" + rtn2.length); log.info(" rtn2 data##### " + rtn2[0]); success = Integer.toString(rtn2[0]); ps2.close(); log.info(" END executeBatch 2------------------------------------------------:"); con.commit(); } catch (Exception e) { log.error("IN --" + e); con.rollback(); log.error("IN -- Rollback---"); throw new Exception(e); } finally { try { try { if (ps1 != null) ps1.close(); } catch (Exception e) { log.error(e, e); } try { if (ps2 != null) ps2.close(); } catch (Exception e) { log.error(e, e); } if (con != null) con.close(); } catch (Exception e) { log.error("Error -- " + e); } } return success; }