@Override public SELF onGeneratedKey(GeneratedKeyCallback callback) { keyCallback = callback; return getSelf(); }
@Override public void of(AbstractInsert<?> insert) throws SQLException { PreparedStatement statement = null; ResultSet rs = null; try { String sql = insert.toString(); statement = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); Stmt stmt = new PreparedStatementWrapper(statement); insert.prepare(stmt); statement.executeUpdate(); GeneratedKeyCallback keyCallback = insert.getKeyCallback(); if (keyCallback != null) { rs = statement.getGeneratedKeys(); keyCallback.set(rs); rs.close(); } } finally { Jdbc.close(statement); Jdbc.close(rs); } }
public String toUpdate(PrimaryKey primaryKey) { int insertValueListSize = insertValueList.size(); List<String> columnNameList = new ArrayList<>(insertValueListSize); for (InsertValue insertValue : insertValueList) { columnNameList.add(insertValue.toUpdate()); } String columns = columnNameList.stream().collect(Collectors.joining(",")); String keyColumn = primaryKey.columnName(); Object val = primaryKey.value(); addValue(keyColumn, paramValue(next(), val)); return String.format("update %s set %s where `%s`=?", table, columns, primaryKey.columnName()); }
public SqlDump toSqlDump(PrimaryKey pk) { boolean contained = false; for (InsertValue insertValue : insertValueList) { if (insertValue.isColumnNameEqual(pk.columnName())) { contained = true; break; } } return contained ? toSqlDump() : SqlDump.newSqlDump(table, insertValueList, pk, paramValueFactory()); }
@Override public void of(PrimaryKey key, AbstractInsertable entity) throws SQLException { PreparedStatement statement = null; ResultSet rs = null; try { AbstractInsert<?> insert = entity.getInsert(); String sql = insert.toUpdate(key); statement = conn.prepareStatement(sql); Stmt stmt = new PreparedStatementWrapper(statement); insert.prepare(stmt); statement.executeUpdate(); } finally { Jdbc.close(statement); Jdbc.close(rs); } }
public Builder dump(AbstractInsertable insertable) { AbstractInsert<?> insert = insertable.getInsert(); SqlDump dump = insert.toSqlDump(); statementList.addAll(dump.statementList); return this; }
@Override public SELF onGeneratedKey(GeneratedKeyCallback callback) { current.onGeneratedKey(callback); return self(); }
@Override public void insert() { create(insert) .onGeneratedKey(insert.getKeyCallback()) .insert(); } };
@Override public List<String> getParts() { String part = toString(); return ImmutableList.of(part); }
@Override public void of(AbstractInsert<?> insert) throws SQLException { PreparedStatement statement = null; ResultSet rs = null; try { String sql = insert.toString(); statement = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); Stmt stmt = new PreparedStatementWrapper(statement); insert.prepare(stmt); statement.executeUpdate(); GeneratedKeyCallback keyCallback = insert.getKeyCallback(); if (keyCallback != null) { rs = statement.getGeneratedKeys(); keyCallback.set(rs); rs.close(); } } finally { Jdbc.close(statement); Jdbc.close(rs); } }
public String toUpdate(PrimaryKey primaryKey) { int insertValueListSize = insertValueList.size(); List<String> columnNameList = new ArrayList<>(insertValueListSize); for (InsertValue insertValue : insertValueList) { columnNameList.add(insertValue.toUpdate()); } String columns = columnNameList.stream().collect(Collectors.joining(",")); String keyColumn = primaryKey.columnName(); Object val = primaryKey.value(); addValue(keyColumn, paramValue(next(), val)); return String.format("update %s set %s where `%s`=?", table, columns, primaryKey.columnName()); }
public SqlDump toSqlDump(PrimaryKey pk) { boolean contained = false; for (InsertValue insertValue : insertValueList) { if (insertValue.isColumnNameEqual(pk.columnName())) { contained = true; break; } } return contained ? toSqlDump() : SqlDump.newSqlDump(table, insertValueList, pk, paramValueFactory()); }
@Override public void of(PrimaryKey key, AbstractInsertable entity) throws SQLException { PreparedStatement statement = null; ResultSet rs = null; try { AbstractInsert<?> insert = entity.getInsert(); String sql = insert.toUpdate(key); statement = conn.prepareStatement(sql); Stmt stmt = new PreparedStatementWrapper(statement); insert.prepare(stmt); statement.executeUpdate(); } finally { Jdbc.close(statement); Jdbc.close(rs); } }
private Builder dumpWithPk(AbstractListInsertable insertable, PrimaryKey pk) { List<? extends AbstractInsert<?>> insertList = insertable.getInserts(); for (AbstractInsert<?> insert : insertList) { SqlDump insertSqlDump = insert.toSqlDump(pk); statementList.addAll(insertSqlDump.statementList); } return this; }
@Override public SELF onGeneratedKey(GeneratedKeyCallback callback) { current.onGeneratedKey(callback); return self(); }
@Override public void insert() { create(insert) .onGeneratedKey(insert.getKeyCallback()) .insert(); } };
@Override public List<String> getParts() { String part = toString(); return ImmutableList.of(part); }
I entity = entities.next(); AbstractInsert<?> insert = entity.getInsert(); String sql = insert.toString(); PreparedStatementWrapper wrapper = new PreparedStatementWrapper(statement); insert.prepare(wrapper); statement.addBatch(); GeneratedKeyCallback keyCallback = insert.getKeyCallback(); callbacks.add(new CallbackWrapper(keyCallback)); insert = entity.getInsert(); insert.prepare(wrapper); statement.addBatch(); keyCallback = insert.getKeyCallback(); callbacks.add(new CallbackWrapper(keyCallback));