Package org.fluentjdbc
Class DbContextSaveBuilder<T>
- java.lang.Object
-
- org.fluentjdbc.DbContextSaveBuilder<T>
-
public class DbContextSaveBuilder<T> extends Object
GenerateINSERT
orUPDATE
statements onDbContextTable
by collecting field names and parameters. Support autogeneration of primary keys and unique natural keys. Example:DbContextTable
table = context.table("database_test_table"); try (DbContextConnection ignored = context.startConnection(dataSource)) { DatabaseSaveResult<Long> result = table.newSaveBuilder("id", object.getId()) .uniqueKey("name", object.getName()) .setField("value", object.getValue()) .execute(); object.setId(result.getId()); }- See Also:
DatabaseInsertBuilder
-
-
Constructor Summary
Constructors Constructor Description DbContextSaveBuilder(DbContextTable table, DatabaseSaveBuilder<T> saveBuilder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DatabaseSaveResult<T>
execute()
Executes theUPDATE
orINSERT
statement and returns aDatabaseSaveResult
which explains what operation was executed.DbContextSaveBuilder<T>
setField(String fieldName, Object fieldValue)
Specify a column name to be savedDbContextSaveBuilder<T>
uniqueKey(String fieldName, Object fieldValue)
Specify a natural key for this table.
-
-
-
Constructor Detail
-
DbContextSaveBuilder
public DbContextSaveBuilder(DbContextTable table, DatabaseSaveBuilder<T> saveBuilder)
-
-
Method Detail
-
uniqueKey
@CheckReturnValue public DbContextSaveBuilder<T> uniqueKey(String fieldName, Object fieldValue)
Specify a natural key for this table. If theid
is null and there is a unique key match, UPDATE is called with this row and the existing primary key is returned, instead of INSERT. If more than one uniqueKey, fluent-jdbc assumes a composite unique constraint, that is all fields must match
-
setField
@CheckReturnValue public DbContextSaveBuilder<T> setField(String fieldName, Object fieldValue)
Specify a column name to be saved
-
execute
public DatabaseSaveResult<T> execute()
Executes theUPDATE
orINSERT
statement and returns aDatabaseSaveResult
which explains what operation was executed. SeeDatabaseSaveBuilder.execute(Connection)
-
-