if (size > 0) { if (createSetId()) { LinkedList<Long> ids = new LinkedList<>(insert.executeWithKeys(pk())); if (entityList.size() == ids.size()) { entityList.forEach(t -> t.setId(ids.poll()));
@Test @ExcludeIn({CUBRID, SQLSERVER}) public void insert_with_keys() throws SQLException { ResultSet rs = insert(survey).set(survey.name, "Hello World").executeWithKeys(); assertTrue(rs.next()); assertTrue(rs.getObject(1) != null); rs.close(); }
@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()); }
@Test @ExcludeIn({CUBRID, SQLSERVER}) public void insert_with_keys_listener() throws SQLException { final AtomicBoolean result = new AtomicBoolean(); SQLListener listener = new SQLBaseListener() { @Override public void end(SQLListenerContext context) { result.set(true); } }; SQLInsertClause clause = insert(survey).set(survey.name, "Hello World"); clause.addListener(listener); ResultSet rs = clause.executeWithKeys(); assertFalse(result.get()); assertTrue(rs.next()); assertTrue(rs.getObject(1) != null); rs.close(); assertTrue(result.get()); }
@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)); }
insert.addListener(listeners); populate(insert); return insert.executeWithKeys();