@Test @ExcludeIn({FIREBIRD, HSQLDB, DB2, DERBY, ORACLE}) public void insert_without_values() { assertEquals(1, insert(survey).execute()); }
private void reset() throws SQLException { delete(survey).execute(); insert(survey).values(1, "Hello World", "Hello").execute(); }
@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(); }
@After public void tearDown() throws SQLException { delete(survey).execute(); insert(survey).values(1, "Hello World", "Hello").execute(); }
@Test public void insert_alternative_syntax() { // with columns assertEquals(1, insert(survey) .set(survey.id, 3) .set(survey.name, "Hello") .execute()); }
@Test public void insert_null_with_columns() { assertEquals(1, insert(survey) .columns(survey.id, survey.name) .values(3, null).execute()); }
@Test public void insert_with_columns() { assertEquals(1, insert(survey) .columns(survey.id, survey.name) .values(3, "Hello").execute()); }
@Test public void insert_with_set() { assertEquals(1, insert(survey) .set(survey.id, 5) .set(survey.name, (String) null) .execute()); }
@Test public void populate_with_beanMapper() { Employee employee = new Employee(); employee.setFirstname("John"); insert(e).populate(employee, new BeanMapper()).execute(); }
@Test @IncludeIn(MYSQL) @SkipForQuoted public void replace() { SQLInsertClause clause = mysqlReplace(survey); clause.columns(survey.id, survey.name) .values(3, "Hello"); assertEquals("replace into SURVEY (ID, NAME) values (?, ?)", clause.toString()); clause.execute(); }
@Test @IncludeIn({H2, POSTGRESQL}) @SkipForQuoted public void uuids() { delete(QUuids.uuids).execute(); QUuids uuids = QUuids.uuids; UUID uuid = UUID.randomUUID(); insert(uuids).set(uuids.field, uuid).execute(); assertEquals(uuid, query().from(uuids).select(uuids.field).fetchFirst()); }
@Test @ExcludeIn({CUBRID, SQLITE}) public void batch_templates() throws SQLException { insert(survey).values(2, "A","B").execute(); insert(survey).values(3, "B","C").execute(); SQLDeleteClause delete = delete(survey); delete.where(survey.name.eq(Expressions.stringTemplate("'A'"))).addBatch(); delete.where(survey.name.eq(Expressions.stringTemplate("'B'"))).addBatch(); assertEquals(2, delete.execute()); }
@Test public void batch() throws SQLException { insert(survey).values(2, "A","B").execute(); insert(survey).values(3, "B","C").execute(); SQLDeleteClause delete = delete(survey); delete.where(survey.name.eq("A")).addBatch(); assertEquals(1, delete.getBatchCount()); delete.where(survey.name.eq("B")).addBatch(); assertEquals(2, delete.getBatchCount()); assertEquals(2, delete.execute()); }
@Test public void insert_batch2() { SQLInsertClause insert = insert(survey) .set(survey.id, 5) .set(survey.name, "55") .addBatch(); insert.set(survey.id, 6) .setNull(survey.name) .addBatch(); assertEquals(2, insert.execute()); }
@Test public void batch_templates() throws SQLException { assertEquals(1, insert(survey).values(2, "A","B").execute()); assertEquals(1, insert(survey).values(3, "B","C").execute()); SQLUpdateClause update = update(survey); update.set(survey.name, "AA").where(survey.name.eq(Expressions.stringTemplate("'A'"))).addBatch(); update.set(survey.name, "BB").where(survey.name.eq(Expressions.stringTemplate("'B'"))).addBatch(); assertEquals(2, update.execute()); }
@Test @ExcludeIn({ORACLE}) public void xml() { delete(QXmlTest.xmlTest).execute(); QXmlTest xmlTest = QXmlTest.xmlTest; String contents = "<html><head>a</head><body>b</body></html>"; insert(xmlTest).set(xmlTest.col, contents).execute(); assertEquals(contents, query().from(xmlTest).select(xmlTest.col).fetchFirst()); }
@Test @ExcludeIn(FIREBIRD) // too slow public void insert_with_subQuery_Via_Constructor() { int count = (int) query().from(survey).fetchCount(); SQLInsertClause insert = insert(survey, query().from(survey2)); insert.set(survey.id, survey2.id.add(20)); insert.set(survey.name, survey2.name); assertEquals(count, insert.execute()); }
@Test @IncludeIn(H2) public void merge_with_keys_and_subQuery() { assertEquals(1, insert(survey).set(survey.id, 6).set(survey.name, "H").execute()); // keys + subquery QSurvey survey2 = new QSurvey("survey2"); assertEquals(2, merge(survey).keys(survey.id).select( query().from(survey2).select(survey2.id.add(1), survey2.name, survey2.name2)).execute()); }
@Test public void insert_batch_Templates() { SQLInsertClause insert = insert(survey) .set(survey.id, 5) .set(survey.name, Expressions.stringTemplate("'55'")) .addBatch(); insert.set(survey.id, 6) .set(survey.name, Expressions.stringTemplate("'66'")) .addBatch(); assertEquals(2, insert.execute()); assertEquals(1L, query().from(survey).where(survey.name.eq("55")).fetchCount()); assertEquals(1L, query().from(survey).where(survey.name.eq("66")).fetchCount()); }