Search in sources :

Example 1 with QGeneratedKeysEntity

use of com.querydsl.sql.QGeneratedKeysEntity in project querydsl by querydsl.

the class GeneratedKeysMySQLTest method test.

@Test
public void test() throws SQLException {
    stmt.execute("drop table if exists GENERATED_KEYS");
    stmt.execute("create table GENERATED_KEYS(" + "ID int AUTO_INCREMENT PRIMARY KEY, " + "NAME varchar(30))");
    QGeneratedKeysEntity entity = new QGeneratedKeysEntity("entity");
    SQLInsertClause insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    ResultSet rs = insertClause.set(entity.name, "Hello").executeWithKeys();
    ResultSetMetaData md = rs.getMetaData();
    System.out.println(md.getColumnName(1));
    assertTrue(rs.next());
    assertEquals(1, rs.getInt(1));
    assertFalse(rs.next());
    insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    rs = insertClause.set(entity.name, "World").executeWithKeys();
    assertTrue(rs.next());
    assertEquals(2, rs.getInt(1));
    assertFalse(rs.next());
}
Also used : H2Templates(com.querydsl.sql.H2Templates) SQLInsertClause(com.querydsl.sql.dml.SQLInsertClause) QGeneratedKeysEntity(com.querydsl.sql.QGeneratedKeysEntity) Test(org.junit.Test)

Example 2 with QGeneratedKeysEntity

use of com.querydsl.sql.QGeneratedKeysEntity in project querydsl by querydsl.

the class GeneratedKeysH2Test method test.

@Test
public void test() throws SQLException {
    stmt.execute("drop table GENERATED_KEYS if exists");
    stmt.execute("create table GENERATED_KEYS(" + "ID int AUTO_INCREMENT PRIMARY KEY, " + "NAME varchar(30))");
    QGeneratedKeysEntity entity = new QGeneratedKeysEntity("entity");
    SQLInsertClause insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    ResultSet rs = insertClause.set(entity.name, "Hello").executeWithKeys();
    ResultSetMetaData md = rs.getMetaData();
    System.out.println(md.getColumnName(1));
    assertTrue(rs.next());
    assertEquals(1, rs.getInt(1));
    assertFalse(rs.next());
    insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    rs = insertClause.set(entity.name, "World").executeWithKeys();
    assertTrue(rs.next());
    assertEquals(2, rs.getInt(1));
    assertFalse(rs.next());
    insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    assertEquals(3, insertClause.set(entity.name, "World").executeWithKey(entity.id).intValue());
    insertClause = new SQLInsertClause(conn, new H2Templates(), entity);
    assertEquals(Collections.singletonList(4), insertClause.set(entity.name, "World").executeWithKeys(entity.id));
}
Also used : H2Templates(com.querydsl.sql.H2Templates) SQLInsertClause(com.querydsl.sql.dml.SQLInsertClause) QGeneratedKeysEntity(com.querydsl.sql.QGeneratedKeysEntity) Test(org.junit.Test)

Aggregations

H2Templates (com.querydsl.sql.H2Templates)2 QGeneratedKeysEntity (com.querydsl.sql.QGeneratedKeysEntity)2 SQLInsertClause (com.querydsl.sql.dml.SQLInsertClause)2 Test (org.junit.Test)2