use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryConsume.
@Test
public void testQueryConsume() {
int count = 10;
for (int i = 0; i < count; i++) {
Person person = randomPerson();
data.insert(person);
}
final int[] counts = new int[] { 0 };
Result<Person> result = data.select(Person.class).get();
result.each(new Consumer<Person>() {
@Override
public void accept(Person e) {
counts[0] = counts[0] + 1;
}
});
assertEquals(counts[0], count);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryGroupBy.
@Test
public void testQueryGroupBy() {
for (int i = 0; i < 5; i++) {
Person person = randomPerson();
person.setAge(i);
data.insert(person);
}
try (Result<Tuple> result = data.select(Person.AGE).groupBy(Person.AGE).having(Person.AGE.greaterThan(3)).get()) {
assertTrue(result.toList().size() == 1);
}
assertTrue(data.select(Person.AGE).groupBy(Person.AGE).having(Person.AGE.lessThan(0)).get().toList().isEmpty());
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testQueryUpdate.
@Test
public void testQueryUpdate() {
Person person = randomPerson();
person.setAge(100);
data.insert(person);
int rowCount = data.update(Person.class).set(Person.ABOUT, "nothing").set(Person.AGE, 50).where(Person.AGE.equal(100)).get().value();
assertEquals(1, rowCount);
}
use of io.requery.test.model.Person in project requery by requery.
the class FunctionalTest method testInsertManyToManySelfReferencing.
@Test
public void testInsertManyToManySelfReferencing() {
Person person = randomPerson();
data.insert(person);
List<Person> added = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Person p = randomPerson();
person.getFriends().add(p);
added.add(p);
}
data.update(person);
assertTrue(added.containsAll(person.getFriends()));
int count = data.count(Person.class).get().value();
assertEquals(11, count);
}
use of io.requery.test.model.Person in project requery by requery.
the class BenchmarkTest method queryJdbc.
@Benchmark
@BenchmarkMode(Mode.SingleShotTime)
public void queryJdbc() throws SQLException {
try (Connection connection = dataSource.getConnection();
PreparedStatement statement = connection.prepareStatement("SELECT id , name , email , birthday," + " age, homepage, uuid FROM Person LIMIT 10000 ")) {
try (ResultSet resultSet = statement.executeQuery()) {
while (resultSet.next()) {
//id
resultSet.getLong(1);
String name = resultSet.getString(2);
String email = resultSet.getString(3);
Date birthday = resultSet.getDate(4);
Integer age = resultSet.getInt(5);
String home = resultSet.getString(6);
byte[] uuid = resultSet.getBytes(7);
Person p = new Person();
p.setName(name);
p.setEmail(email);
p.setUUID(uuid == null ? null : UUID.nameUUIDFromBytes(uuid));
p.setBirthday(birthday);
p.setHomepage(home == null ? null : new URL(home));
p.setAge(age);
}
}
} catch (MalformedURLException e) {
throw new RuntimeException();
}
}
Aggregations