Java 簡單操作接口:JDBI

jopen 9年前發布 | 11K 次閱讀 JDBI Java開發

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.baiduhome.net/lib/view/home/1442891121388

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!