Search in sources :

Example 6 with Movie

use of io.vertigo.database.sql.data.Movie in project vertigo by KleeGroup.

the class AbstractSqlDataBaseManagerTest method testInsert.

@Test
public final void testInsert() throws Exception {
    final String insertWithgeneratedKey = obtainMainConnection().getDataBase().getSqlDialect().createInsertQuery("ID", Arrays.asList("TITLE"), "seq_", "movie");
    final GenerationMode generationMode = obtainMainConnection().getDataBase().getSqlDialect().getGenerationMode();
    // We check that we have the right expected mode
    Assert.assertEquals(getExpectedGenerationMode(), generationMode);
    // ---
    final SqlConnection connection = obtainMainConnection();
    long generatedKey;
    try {
        final Movie movie = new Movie();
        movie.setTitle("frankenstein");
        generatedKey = dataBaseManager.executeUpdateWithGeneratedKey(SqlStatement.builder(insertWithgeneratedKey).bind("DTO", Movie.class, movie).build(), generationMode, "ID", Long.class, connection).getVal2();
        connection.commit();
    } finally {
        connection.release();
    }
    final List<Integer> result = executeQuery(Integer.class, "select count(*) from movie", null);
    Assert.assertEquals(1, result.size());
    Assert.assertEquals(1, result.get(0).intValue());
    final List<Integer> keys = executeQuery(Integer.class, "select id from movie", null);
    Assert.assertEquals(1, keys.size());
    Assert.assertEquals(generatedKey, keys.get(0).intValue());
}
Also used : Movie(io.vertigo.database.sql.data.Movie) GenerationMode(io.vertigo.database.sql.vendor.SqlDialect.GenerationMode) SqlConnection(io.vertigo.database.sql.connection.SqlConnection) Test(org.junit.Test)

Aggregations

Movie (io.vertigo.database.sql.data.Movie)6 Test (org.junit.Test)6 SqlConnection (io.vertigo.database.sql.connection.SqlConnection)5 ArrayList (java.util.ArrayList)2 List (java.util.List)2 SqlConnectionProvider (io.vertigo.database.sql.connection.SqlConnectionProvider)1 SqlParameter (io.vertigo.database.sql.statement.SqlParameter)1 SqlStatementBuilder (io.vertigo.database.sql.statement.SqlStatementBuilder)1 GenerationMode (io.vertigo.database.sql.vendor.SqlDialect.GenerationMode)1 DataStream (io.vertigo.lang.DataStream)1 BigDecimal (java.math.BigDecimal)1 Instant (java.time.Instant)1 LocalDate (java.time.LocalDate)1 Date (java.util.Date)1 OptionalInt (java.util.OptionalInt)1