List of usage examples for org.springframework.jdbc.core PreparedStatementCreator PreparedStatementCreator
PreparedStatementCreator
From source file:com.javacodegags.waterflooding.model.FloodingImplemented.java
@Override public int insert(final String name) { final String sql = "INSERT INTO flooding (name) VALUES (?);"; KeyHolder holder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator() { @Override//ww w. j av a 2s . c o m public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps.setString(1, name); return ps; } }, holder); return holder.getKey().intValue(); }
From source file:db.postgres.V2_0_1__InitializeIdentityZones.java
private Long createDefaultAuthzZone(final JdbcTemplate jdbcTemplate) { final String insertZoneSql = "INSERT INTO authorization_zone (name, description, subdomain) " + "VALUES (?,?,?)"; KeyHolder holder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator() { @Override/*ww w .j av a 2 s . co m*/ public PreparedStatement createPreparedStatement(final Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(insertZoneSql, new String[] { "id" }); ps.setString(1, "apm-migrated"); ps.setString(2, "APM Migrated Zone from mvp1"); ps.setString(3, "apm-migrated"); return ps; } }, holder); Long acsAuthorizationZoneId = holder.getKey().longValue(); return acsAuthorizationZoneId; }
From source file:com.unito.model.repository.TableRepository.java
public int saveTable(Table tableToSave) { System.out.println("saving"); KeyHolder keyHolder = new GeneratedKeyHolder(); System.out.println(keyHolder.getKey()); //http://docs.spring.io/spring/docs/2.5.x/reference/jdbc.html#jdbc-auto-genereted-keys jdbcTemplate.update(new PreparedStatementCreator() { @Override//from w w w .j a va2s.c o m public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(INSERT_TABLE, new String[] { "id" }); ps.setString(1, tableToSave.getName()); ps.setString(2, tableToSave.getOwner()); return ps; } }, keyHolder); return keyHolder.getKey().intValue() >= 0 ? keyHolder.getKey().intValue() : -1; }
From source file:com.hs.mail.imap.dao.MySqlMessageDao.java
private long addPhysicalMessage(final MailMessage message) { final String sql = "INSERT INTO physmessage (size, internaldate, subject, sentdate, fromaddr) VALUES(?, ?, ?, ?, ?)"; final MessageHeader header = message.getHeader(); KeyHolder keyHolder = new GeneratedKeyHolder(); getJdbcTemplate().update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement pstmt = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setLong(1, message.getSize()); // size pstmt.setTimestamp(2, new Timestamp(message.getInternalDate().getTime())); // internaldate pstmt.setString(3, header.getSubject()); // subject Date sent = header.getDate(); pstmt.setTimestamp(4, (sent != null) ? new Timestamp(sent.getTime()) : null); // sentdate pstmt.setString(5, (header.getFrom() != null) ? header.getFrom().getDisplayString() : null); // fromaddr return pstmt; }/*w ww .j a v a 2 s . co m*/ }, keyHolder); long physmessageid = keyHolder.getKey().longValue(); message.setPhysMessageID(physmessageid); addHeader(physmessageid, header); return physmessageid; }
From source file:com.gzj.tulip.jade.dataaccess.DataAccessImpl.java
private PreparedStatementCreator getPreparedStatementCreator(// final String sql, final Object[] args, final boolean returnKeys) { PreparedStatementCreator creator = new PreparedStatementCreator() { @Override/*from ww w . ja v a2s .c o m*/ public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement ps = con.prepareStatement(sql); if (returnKeys) { ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); } else { ps = con.prepareStatement(sql); } if (args != null) { for (int i = 0; i < args.length; i++) { Object arg = args[i]; if (arg instanceof SqlParameterValue) { SqlParameterValue paramValue = (SqlParameterValue) arg; StatementCreatorUtils.setParameterValue(ps, i + 1, paramValue, paramValue.getValue()); } else { StatementCreatorUtils.setParameterValue(ps, i + 1, SqlTypeValue.TYPE_UNKNOWN, arg); } } } return ps; } }; return creator; }
From source file:com.acme.spring.jdbc.repository.impl.JdbcStockRepository.java
/** * {@inheritDoc}/*w w w . j a v a 2 s . c o m*/ */ @Override public long save(final Stock stock) { // validates the input validateNoNull(stock, "stock"); validateNotEmpty(stock.getSymbol(), "symbol"); KeyHolder keyHolder = new GeneratedKeyHolder(); // performs the insert in the database jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement( "insert into Stock(name, symbol, value, date) values (?, ?, ?, ?)", new String[] { "id" }); int index = 1; ps.setString(index++, stock.getName()); ps.setString(index++, stock.getSymbol()); ps.setBigDecimal(index++, stock.getValue()); ps.setDate(index++, new java.sql.Date(stock.getDate().getTime())); return ps; } }, keyHolder); // retrieves the value primary key for the inserted key stock.setId((Long) keyHolder.getKey()); return stock.getId(); }
From source file:com.jagornet.dhcp.db.JdbcIdentityAssocDAO.java
public void create(final IdentityAssoc ia) { /**//from w w w. j a v a 2 s . c om * Note: see https://issues.apache.org/jira/browse/DERBY-3609 * "Formally, Derby does not support getGeneratedKeys since * DatabaseMetaData.supportsGetGeneratedKeys() returns false. * However, Statement.getGeneratedKeys() is partially implemented, * ... since it will only return a meaningful result when an single * row insert is done with INSERT...VALUES" * * Spring has thus provided a workaround as described here: * http://jira.springframework.org/browse/SPR-5306 */ GeneratedKeyHolder newKey = new GeneratedKeyHolder(); getJdbcTemplate().update(new PreparedStatementCreator() { @Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { PreparedStatement ps = conn.prepareStatement( "insert into identityassoc" + " (duid, iatype, iaid, state)" + " values (?, ?, ?, ?)", PreparedStatement.RETURN_GENERATED_KEYS); ps.setBytes(1, ia.getDuid()); ps.setByte(2, ia.getIatype()); ps.setLong(3, ia.getIaid()); ps.setByte(4, ia.getState()); return ps; } }, newKey); Number newId = newKey.getKey(); if (newId != null) { ia.setId(newId.longValue()); } }
From source file:net.duckling.ddl.service.resource.dao.StarmarkDAOImpl.java
@Override public int create(final Starmark starmark) { GeneratedKeyHolder keyHolder = new GeneratedKeyHolder(); this.getJdbcTemplate().update(new PreparedStatementCreator() { @Override/*from ww w .jav a 2s. c o m*/ public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { PreparedStatement ps = null; ps = conn.prepareStatement(SQL_CREATE, PreparedStatement.RETURN_GENERATED_KEYS); int i = 0; ps.setInt(++i, starmark.getRid()); ps.setInt(++i, starmark.getTid()); ps.setString(++i, starmark.getUid()); ps.setTimestamp(++i, new Timestamp(starmark.getCreateTime().getTime())); return ps; } }, keyHolder); Number key = keyHolder.getKey(); return (key == null) ? -1 : key.intValue(); }
From source file:edu.pitt.sis.infsci2730.finalProject.dao.TransactionDao.java
public static TransactionDBModel InsertTransactionByID(final String[] para) throws SQLException { KeyHolder holder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator() { String sql = "insert into Transactions (transaction_date, customer_id) " + "values (CURRENT_TIMESTAMP,?)"; @Override/*from w w w . j a v a 2 s .c o m*/ public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(sql.toString(), Statement.RETURN_GENERATED_KEYS); ps.setString(1, para[0]); return ps; } }, holder); int newId = holder.getKey().intValue(); return jdbcTemplate.queryForObject("select * from Transactions where TRANSACTION_ID=" + newId, new TransactionRowMapper()); }
From source file:com.hs.mail.imap.dao.MySqlUserDao.java
public long addUser(final User user) { final String sql = "INSERT INTO user (userid, passwd, maxmail_size, forward) VALUES(?, ?, ?, ?)"; KeyHolder keyHolder = new GeneratedKeyHolder(); getJdbcTemplate().update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection con) throws SQLException { PreparedStatement pstmt = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, user.getUserID()); pstmt.setString(2, user.getPassword()); pstmt.setLong(3, user.getQuota()); pstmt.setString(4, user.getForwardTo()); return pstmt; }//from w ww . j av a 2 s. c o m }, keyHolder); long id = keyHolder.getKey().longValue(); user.setID(id); return id; }