Example usage for org.springframework.jdbc.support GeneratedKeyHolder GeneratedKeyHolder

List of usage examples for org.springframework.jdbc.support GeneratedKeyHolder GeneratedKeyHolder

Introduction

In this page you can find the example usage for org.springframework.jdbc.support GeneratedKeyHolder GeneratedKeyHolder.

Prototype

public GeneratedKeyHolder() 

Source Link

Document

Create a new GeneratedKeyHolder with a default list.

Usage

From source file:org.perconsys.dao.implement.PostDb.java

@Override
public Post create(final Post post) {
    KeyHolder keyh = new GeneratedKeyHolder();
    final String sql = "insert into `posts` (`title`, `content`, `blog_id`, `date`) value (?, ?, ?, now()) ;";

    getJdbcTemplate().update(new PreparedStatementCreator() {

        @Override/*from  ww  w . jav  a 2s  . co m*/
        public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
            PreparedStatement pstat = conn.prepareStatement(sql, new String[] { "id" });
            pstat.setString(1, post.getTitle());
            pstat.setString(2, post.getContent());
            pstat.setLong(3, post.getBlog().getId());
            return pstat;
        }
    }, keyh);
    Long id = (Long) keyh.getKey();
    post.setId(id);
    return post;
}

From source file:org.openlmis.performancetesting.dao.ProgramDAO.java

public long insertProgram(Program program) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertProgramQuery, new BeanPropertySqlParameterSource(program), keyHolder,
            new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    program.setId(id);/*ww w  . java  2s  . c  o  m*/
    return id;
}

From source file:com.bluecollarcoder.dao.RecipeRepository.java

public void persist(final Recipe recipe) {
    KeyHolder key = new GeneratedKeyHolder();
    jdbc.update((Connection con) -> {
        PreparedStatement stmt = con.prepareStatement(
                "insert into recipes (recipe_name, recipe_url, recipe_photo) values (?, ?, ?)",
                Statement.RETURN_GENERATED_KEYS);
        stmt.setString(1, recipe.getTitle());
        stmt.setString(2, recipe.getUrl());
        stmt.setString(3, recipe.getPhotoUrl());
        return stmt;
    }, key);/* ww w .  j av  a2 s  .c  om*/

    Number recipeId = (Number) key.getKeys().get("recipe_id");

    for (String name : recipe.getIngredients().keySet()) {
        key = new GeneratedKeyHolder();
        jdbc.update((Connection con) -> {
            PreparedStatement stmt = con.prepareStatement(
                    "insert into ingredients (ingredient_name) values (?)", Statement.RETURN_GENERATED_KEYS);
            stmt.setString(1, name);
            return stmt;
        }, key);

        Number ingredientId = (Number) key.getKeys().get("ingredient_id");
        String amount = recipe.getIngredients().get(name);
        jdbc.update("insert into ingredient_amount (recipe_id, ingredient_id, amount) values (?, ?, ?)",
                new Object[] { recipeId, ingredientId, amount },
                new int[] { Types.INTEGER, Types.INTEGER, Types.VARCHAR });
    }
}

From source file:zerogame.info.javapay.dao.PayOrderDao.java

@Override
public PayOrder add(final PayOrder payorder) {
    try {//ww  w  .j ava2 s  .  c o  m
        KeyHolder keyHolder = new GeneratedKeyHolder();
        getTemplate().update(new PreparedStatementCreator() {
            public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
                PreparedStatement ps = con.prepareStatement("insert into pay_order"
                        + "(uin,account_id,order_id,product_id,product_name,product_desc,money,channel,serverId,status,order_type,create_time,user_level,vip_level) "
                        + "values(?,?,?,?,?,?,?,?,?,?,?,now(),?,?)", Statement.RETURN_GENERATED_KEYS);
                ps.setLong(1, payorder.getUin());
                ps.setString(2, payorder.getAccountId());
                ps.setString(3, payorder.getOrderId());
                ps.setString(4, payorder.getProductId());
                ps.setString(5, payorder.getProductName());
                ps.setString(6, payorder.getProductDesc());
                ps.setInt(7, payorder.getMoney());
                ps.setInt(8, payorder.getChannel());
                ps.setInt(9, payorder.getServerId());
                ps.setInt(10, payorder.getStatus());
                ps.setInt(11, payorder.getOrderType());
                ps.setInt(12, payorder.getUserLevel());
                ps.setInt(13, payorder.getUserVipLevel());
                return ps;
            }
        }, keyHolder);
        return payorder;
    } catch (Exception e) {
        logger.warn("add pay order failed", e);
        return null;
    }
}

From source file:org.openlmis.performancetesting.dao.SupplyLineDAO.java

public long insertSupplyLine(SupplyLine supplyLine) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertSupplyLineQuery, new BeanPropertySqlParameterSource(supplyLine), keyHolder,
            new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    supplyLine.setId(id);//from w ww  . j  a  v a 2  s  . c o m
    return id;
}

From source file:org.openlmis.performancetesting.dao.ProgramProductDAO.java

public long insertProgramProduct(ProgramProduct programProduct) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertProgramQuery, new BeanPropertySqlParameterSource(programProduct), keyHolder,
            new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    programProduct.setId(id);/* ww  w . ja v  a 2  s  .c  om*/
    return id;
}

From source file:org.openlmis.performancetesting.dao.FacilityApprovedProductDAO.java

public long insertFacilityApprovedProduct(FacilityApprovedProduct facilityApprovedProduct) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertFacilityApprovedProductQuery,
            new BeanPropertySqlParameterSource(facilityApprovedProduct), keyHolder, new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    facilityApprovedProduct.setId(id);/*from w w w  .j  a  v a  2s.  c  o m*/
    return id;
}

From source file:org.openlmis.performancetesting.dao.SupervisoryNodeDAO.java

public long insertSupervisoryNode(SupervisoryNode supervisoryNode) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertSupervisoryNodeSql, new BeanPropertySqlParameterSource(supervisoryNode), keyHolder,
            new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    supervisoryNode.setId(id);/*from w  w w  .ja va2  s . c om*/
    return id;
}

From source file:eu.ibacz.swsc.spring.di.testdependencyinjection.dao.impl.JdbcTemplateCustomerDaoImpl.java

public void save(final Customer customer) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    jdbcTemplate.update(new PreparedStatementCreator() {

        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            PreparedStatement stmt = connection.prepareStatement(
                    "insert into customer (firstname, lastname) values (?,?)", Statement.RETURN_GENERATED_KEYS);
            stmt.setString(1, customer.getFirstname());
            stmt.setString(2, customer.getLastname());
            return stmt;
        }//ww w.  j  ava 2 s  .com
    }, keyHolder);
    customer.setId(keyHolder.getKey().longValue());
}

From source file:org.openlmis.performancetesting.dao.ProgramsSupportedDAO.java

public long insertProgramSupported(ProgramSupported programSupported) {
    GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();
    template.update(insertProgramsSupported, new BeanPropertySqlParameterSource(programSupported), keyHolder,
            new String[] { "id" });

    long id = keyHolder.getKey().longValue();
    programSupported.setId(id);/* w ww  .java2s . co  m*/
    return id;
}