Examples of KeyHolder


Examples of org.springframework.jdbc.support.KeyHolder

   * @param argsList
   */
  @SuppressWarnings("unchecked")
  protected <T extends Number> List<T> batchInsertWithIdReturn(final String sql, final List<Object[]> argsList) {
    Assert.notEmpty(argsList, "args can not be empty while batch insert");
    final KeyHolder keyHolder = new GeneratedKeyHolder();
    jdbcTemplate.execute(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
        PreparedStatement ps = con.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
        return ps;
      }
    }, new PreparedStatementCallback<int[]>() {
      private void setValues(PreparedStatement ps, int i) throws SQLException {
        Object[] args = argsList.get(i);
        int length = args.length;
        for (int j = 1; j <= length; j++) {
          ps.setObject(j, args[j - 1]);
        }
      }

      private int[] processResult(PreparedStatement ps, int[] rows) throws SQLException {
        List<Map<String, Object>> generatedKeys = keyHolder.getKeyList();
        generatedKeys.clear();
        ResultSet keys = ps.getGeneratedKeys();
        if (keys != null) {
          try {
            RowMapperResultSetExtractor<Map<String, Object>> rse = new RowMapperResultSetExtractor<Map<String, Object>>(
                new ColumnMapRowMapper(), rows.length);
            generatedKeys.addAll(rse.extractData(keys));
          } finally {
            JdbcUtils.closeResultSet(keys);
          }
        }
        return rows;
      }

      @Override
      public int[] doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException {
        int batchSize = argsList.size();
        if (JdbcUtils.supportsBatchUpdates(ps.getConnection())) {
          for (int i = 0; i < batchSize; i++) {
            setValues(ps, i);
            ps.addBatch();
          }
          int[] rows = ps.executeBatch();
          return processResult(ps, rows);
        } else {
          List<Integer> rowsAffected = new ArrayList<Integer>();
          for (int i = 0; i < batchSize; i++) {
            setValues(ps, i);
            rowsAffected.add(ps.executeUpdate());
          }
          int[] rowsAffectedArray = new int[rowsAffected.size()];
          for (int i = 0; i < rowsAffectedArray.length; i++) {
            rowsAffectedArray[i] = rowsAffected.get(i);
          }
          return processResult(ps, rowsAffectedArray);
        }
      }
    });

    List<T> keys = new ArrayList<T>(argsList.size());
    List<Map<String, Object>> generatedKeys = keyHolder.getKeyList();
    int length = generatedKeys.size();
    for (int i = 0; i < length; i++) {
      Iterator<Object> keyIter = generatedKeys.get(i).values().iterator();
      if (keyIter.hasNext()) {
        Object key = keyIter.next();
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
 
  @Transactional
  @Override
  public void create(final InformationForm infoForm) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("information")+ "(sort_order, bottom, status) VALUES(?,?,?) ";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setInt(1, infoForm.getSortOrder());
        ps.setInt(2, infoForm.getBottom());
        ps.setShort(3, infoForm.getStatus());
        return ps;
      }
    }, keyHolder);
    Integer infoId = keyHolder.getKey().intValue();
    infoForm.setId(infoId);
    setAdditionalFormValues(infoForm);
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
 
  @Transactional
  @Override
  public void create(final AttributeGroupForm attrGrpForm) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("attribute_group")+ "(sort_order) VALUES(?) ";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setInt(1, attrGrpForm.getSortOrder());
        return ps;
      }
    }, keyHolder);
    Integer attrGrpId = keyHolder.getKey().intValue();
    attrGrpForm.setId(attrGrpId);
    setAdditionalFormValues(attrGrpForm);
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

   
    final String origName = dlForm.getFileUpload().getOriginalFilename();
    final String ext = FilenameUtils.getExtension(origName);
    final String randomName = downloadFileService.generateRandomName()+"."+ext;
   
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
       
        String sql = "INSERT INTO " +quoteTable("download")+ "(filename, mask, remaining, date_added) VALUES(?,?,?,?) ";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, randomName);
        ps.setString(2, dlForm.getMask());
        ps.setInt(3, dlForm.getRemaining());
        ps.setDate(4, new java.sql.Date(new Date().getTime()));
        return ps;
      }
    }, keyHolder);
    Integer dlId = keyHolder.getKey().intValue();
    dlForm.setId(dlId);
    setAdditionalFormValues(dlForm);
   
    downloadFileService.upload(dlForm.getFileUpload(), randomName);
   
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
  @Transactional
  @Override
  public void create(final BannerForm banner) {
   
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("banner")+ " SET name = ?, status = ?";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, banner.getName());
        ps.setInt(2, banner.getStatus());
        return ps;
      }
    }, keyHolder);
   
    int bannerId = keyHolder.getKey().intValue();
   
    banner.setId(bannerId);
    addBannerImages(banner);
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
  private void addBannerImages(final BannerForm banner){
    if(banner.getImages().size()>0){
      for(final BannerImage image: banner.getImages()){
       
        KeyHolder keyHolder = new GeneratedKeyHolder();
        getJdbcOperations().update(new PreparedStatementCreator() {
          @Override
          public PreparedStatement createPreparedStatement(Connection con)
              throws SQLException {
            String sql = "INSERT INTO " +quoteTable("banner_image")+ " SET banner_id = ?, link = ?, image = ?";
            PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
            ps.setInt(1, banner.getId());
            ps.setString(2, image.getLink());
            ps.setString(3, image.getImage());
            return ps;
          }
        }, keyHolder);
       
        int imageId = keyHolder.getKey().intValue();
       
        if(image.getDescs().size()>0){
          String sql = "INSERT INTO " +quoteTable("banner_image_description")
              + " SET banner_image_id = ?, language_id = ?, banner_id = ?, title = ?";
          for(BannerImageDesc desc: image.getDescs()){
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
  @Transactional
  @Override
  public void create(final LayoutForm layoutForm) {
   
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("layout") + "(name) VALUES(?)";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, layoutForm.getName());
        return ps;
      }
    }, keyHolder);
   
    int layoutId = keyHolder.getKey().intValue();
   
    layoutForm.setId(layoutId);
    addLayoutRoutes(layoutForm);
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
 
  @Transactional
  @Override
  public void create(final CategoryForm catForm) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("category")+ "(image, parent_id, top,"
          +quoteName("column")+",sort_order, status, date_added, date_modified) VALUES(?,?,?,?,?,?,?,?) ";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, HtmlUtils.htmlEscape(catForm.getImage()));
        ps.setInt(2, catForm.getParentId());
        ps.setBoolean(3, catForm.isTop());
        ps.setInt(4, catForm.getColumn());
        ps.setInt(5, catForm.getSortOrder());
        ps.setShort(6, catForm.getStatus());
        Timestamp currentTime = new Timestamp(new Date().getTime());
        ps.setTimestamp(7, currentTime);
        ps.setTimestamp(8, currentTime);
        return ps;
      }
    }, keyHolder);
    Integer catId = keyHolder.getKey().intValue();
    catForm.setId(catId);
    setAdditionalFormValues(catForm);
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
  @Transactional
  @Override
  public void create(final GeoZoneForm geoZone) {
   
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO "+quoteTable("geo_zone")+"(name, description, date_added) VALUES(?,?,?)";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setString(1, geoZone.getName());
        ps.setString(2, geoZone.getDescription());
        ps.setTimestamp(3, new Timestamp(new Date().getTime()));
        return ps;
      }
    }, keyHolder);
   
    int geoZoneId = keyHolder.getKey().intValue();
   
    addZoneToGeoZones(geoZoneId, geoZone.getZoneToGeoZones());
   
  }
View Full Code Here

Examples of org.springframework.jdbc.support.KeyHolder

 
 
  @Transactional
  @Override
  public void create(final AttributeForm attrForm) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getJdbcOperations().update(new PreparedStatementCreator() {
      @Override
      public PreparedStatement createPreparedStatement(Connection con)
          throws SQLException {
        String sql = "INSERT INTO " +quoteTable("attribute")+ "(attribute_group_id, sort_order) VALUES(?, ?) ";
        PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
        ps.setInt(1, attrForm.getAttributeGroupId());
        ps.setInt(2, attrForm.getSortOrder());
        return ps;
      }
    }, keyHolder);
    Integer attrId = keyHolder.getKey().intValue();
    attrForm.setId(attrId);
    setAdditionalFormValues(attrForm);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.