So etwa http://www.jdbi.org/.
JDBI is a SQL convenience library for Java.
Beispiel von der Seite in herkömmlicher Notation:
DataSource ds = JdbcConnectionPool.create("jdbc:h2:mem:test",
"username",
"password");
DBI dbi = new DBI(ds);
Handle h = dbi.open();
h.execute("create table something (id int primary key, name varchar(100))");
h.execute("insert into something (id, name) values (?, ?)", 1, "Brian");
String name = h.createQuery("select name from something where id = :id")
.bind("id", 1)
.map(StringMapper.FIRST)
.first();
assertThat(name, equalTo("Brian"));
h.close();
http://skife.org/jdbi/2012/12/10/some-jdbi3.html schreibt nun, dass JDBI 3 Lambda-Ausdrücke nutzen wird und gibt folgendes Beispiel an:
Set<Something> things = jdbi.withHandle(h -> {
h.execute("insert into something (id, name) values (?, ?)", 1, "Brian");
h.execute("insert into something (id, name) values (?, ?)", 2, "Steven");
return h.query("select id, name from something")
.map(rs -> new Something(rs.getInt(1), rs.getString(2)))
.into(new HashSet<Something>());
});
assertThat(things).isEqualTo(ImmutableSet.of(new Something(1, "Brian"),
new Something(2, "Steven")));
Das geht sicherlich noch etwas kürzer, warten wir’s ab.
Warnung bei ThreeTen, das was man auf SourceForge findet, und was tatsächlich in Java 8 landet haben praktisch Nichts miteinander zu tun!!!
Besser auf OpenJDK nachsehen;-)