jDBI 提供一个 Java 简单操作接口, 它不是一个抽象层而是一个类库是的公共的操作更简单、还有能力去做一些更复杂的操作。
JDBI 是 Java 的 SQL 便捷操作库,尝试使用集合,beans 等等来暴露 Java 中的关系型数据库,可以维护相同级别的 JDBC。提供两个不同样式的 APIs:fluent 和 sql object。
Fluent API - // using in-memory H2 database
- 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();
复制代码SQL Object API - public interface MyDAO
- {
- @SqlUpdate("create table something (id int primary key, name varchar(100))")
- void createSomethingTable();
- @SqlUpdate("insert into something (id, name) values (:id, :name)")
- void insert(@Bind("id") int id, @Bind("name") String name);
- @SqlQuery("select name from something where id = :id")
- String findNameById(@Bind("id") int id);
- /**
- * close with no args is used to close the connection
- */
- void close();
- }
复制代码Maven: - <dependency>
- <groupId>org.jdbi</groupId>
- <artifactId>jdbi</artifactId>
- <version>${jdbi.version}</version>
- </dependency>
复制代码项目主页:http://www.open-open.com/lib/view/home/1442891121388 |