@Override public final SQLInsertClause insert(RelationalPath<?> path) { return new SQLInsertClause(connection, configuration, path); }
@Override public long createResource() { return querydslSupport.execute((connection, configuration) -> { QResource qResource = QResource.resource; new SQLInsertClause(connection, configuration, qResource); return new SQLInsertClause(connection, configuration, qResource) .executeWithKey(qResource.resourceId); }); }
private long insertProvider() { return querydslSupport.execute((connection, configuration) -> { QOAuth2Provider qoAuth2Provider = QOAuth2Provider.oAuth2Provider; return new SQLInsertClause(connection, configuration, qoAuth2Provider) .set(qoAuth2Provider.providerName, providerName) .executeWithKey(qoAuth2Provider.oauth2ProviderId); }); }
@Override public void addProperty(final String key, final String value) { Objects.requireNonNull(key, "Null key is not supported!"); Objects.requireNonNull(value, "Null values are not supported!"); transactionPropagator.required(() -> querydslSupport.execute((connection, configuration) -> { QProperty prop = QProperty.property; return new SQLInsertClause(connection, configuration, prop) .set(prop.key, key) .set(prop.value, value) .execute(); })); }
protected SQLInsertClause insert(RelationalPath<?> e) { SQLInsertClause sqlInsertClause = new SQLInsertClause(connection, configuration, e); sqlInsertClause.addListener(new TestLoggingListener()); return sqlInsertClause; }
protected SQLInsertClause insert(RelationalPath<?> e, SQLQuery<?> sq) { SQLInsertClause sqlInsertClause = new SQLInsertClause(connection, configuration, e, sq); sqlInsertClause.addListener(new TestLoggingListener()); return sqlInsertClause; }
@Override public BlobAccessor createBlob() { Connection connection = createDatabaseConnection(); QBlobstoreBlob qBlob = QBlobstoreBlob.blobstoreBlob; Long blobId; try { blobId = new SQLInsertClause(connection, this.querydslConfiguration, qBlob) .set(qBlob.version, 0L).set(qBlob.blob, this.emptyBlobExpression) .executeWithKey(qBlob.blobId); } catch (RuntimeException | Error e) { closeCloseableDueToThrowable(connection, e); throw new RuntimeException(e); } return updateBlob(blobId, connection, false); }
private Long insertResourceMapping(final String uniqueUserId) { return querydslSupport.execute((connection, configuration) -> { long resourceId = resourceService.createResource(); QOAuth2ResourceMapping qoAuth2ResourceMapping = QOAuth2ResourceMapping.oAuth2ResourceMapping; new SQLInsertClause(connection, configuration, qoAuth2ResourceMapping) .set(qoAuth2ResourceMapping.resourceId, resourceId) .set(qoAuth2ResourceMapping.oauth2ProviderId, providerId) .set(qoAuth2ResourceMapping.providerUniqueUserId, uniqueUserId) .execute(); return resourceId; }); }
@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(expected = IllegalStateException.class) public void noConnection() { QEmployee emp1 = new QEmployee("emp1"); SQLInsertClause insert = new SQLInsertClause(null, SQLTemplates.DEFAULT, emp1); insert.set(emp1.id, 1); insert.execute(); }
@Test public void getSQLWithPreservedColumnOrder() { com.querydsl.sql.domain.QEmployee emp1 = new com.querydsl.sql.domain.QEmployee("emp1"); SQLInsertClause insert = new SQLInsertClause(null, SQLTemplates.DEFAULT, emp1); insert.populate(emp1); SQLBindings sql = insert.getSQL().get(0); assertEquals("The order of columns in generated sql should be predictable", "insert into EMPLOYEE (ID, FIRSTNAME, LASTNAME, SALARY, DATEFIELD, TIMEFIELD, SUPERIOR_ID)\n" + "values (EMPLOYEE.ID, EMPLOYEE.FIRSTNAME, EMPLOYEE.LASTNAME, EMPLOYEE.SALARY, EMPLOYEE.DATEFIELD, EMPLOYEE.TIMEFIELD, EMPLOYEE.SUPERIOR_ID)", sql.getSQL()); }
@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)); }
@Test public void getSQL() { QEmployee emp1 = new QEmployee("emp1"); SQLInsertClause insert = new SQLInsertClause(null, SQLTemplates.DEFAULT, emp1); insert.set(emp1.id, 1); SQLBindings sql = insert.getSQL().get(0); assertEquals("insert into EMPLOYEE (ID)\nvalues (?)", sql.getSQL()); assertEquals(ImmutableList.of(1), sql.getBindings()); }
@Test public void insert() { SQLInsertClause insertClause = new SQLInsertClause(connection,SQLTemplates.DEFAULT,survey); insertClause.set(survey.id, 1); insertClause.set(survey.name, (String) null); assertEquals("insert into SURVEY (ID, NAME)\nvalues (?, ?)", insertClause.toString()); }
} else { SQLInsertClause insert = new SQLInsertClause(connection(), configuration, entity); insert.addListener(listeners); populate(insert);
@SuppressWarnings("unchecked") protected long executeCompositeMerge() { if (hasRow()) { // update SQLUpdateClause update = new SQLUpdateClause(connection(), configuration, entity); populate(update); addListeners(update); addKeyConditions(update); return update.execute(); } else { // insert SQLInsertClause insert = new SQLInsertClause(connection(), configuration, entity); addListeners(insert); populate(insert); return insert.execute(); } }
@Test public void bulk() { QEmployee emp1 = new QEmployee("emp1"); SQLInsertClause insert = new SQLInsertClause(null, SQLTemplates.DEFAULT, emp1); insert.set(emp1.id, 1); insert.addBatch(); insert.set(emp1.id, 2); insert.addBatch(); insert.addFlag(QueryFlag.Position.END, " on duplicate key ignore"); insert.setBatchToBulk(true); assertEquals("insert into EMPLOYEE (ID)\n" + "values (?), (?) on duplicate key ignore", insert.getSQL().get(0).getSQL()); }
@Test public void clear() { QEmployee emp1 = new QEmployee("emp1"); SQLInsertClause insert = new SQLInsertClause(null, SQLTemplates.DEFAULT, emp1); insert.set(emp1.id, 1); insert.addBatch(); assertEquals(1, insert.getBatchCount()); insert.clear(); assertEquals(0, insert.getBatchCount()); }