Java 简单操作接口 JDBI

简介:

JDBI 详细介绍

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>

文章转载自 开源中国社区[https://www.oschina.net]

相关文章
|
3天前
|
Java
Java抽象类与接口的技术性文章
Java抽象类与接口的技术性文章
11 1
|
2天前
|
Java 数据处理 索引
JAVA中的插入操作:深入解析与实现
JAVA中的插入操作:深入解析与实现
10 1
|
3天前
|
Java
Java语言接口(Interface)的深入解析
Java语言接口(Interface)的深入解析
|
3天前
|
存储 安全 Java
Java的Map接口及其实现类的技术性文章
Java的Map接口及其实现类的技术性文章
7 0
|
3天前
|
存储 安全 Java
Java的List、Set、Queue等接口及其实现类的技术性文章
Java的List、Set、Queue等接口及其实现类的技术性文章
8 1
|
3天前
|
Java API
Java的Lambda表达式与函数式接口的技术性文章
Java的Lambda表达式与函数式接口的技术性文章
6 0
|
3天前
|
SQL Java 数据库连接
Java JDBC连接与操作深度解析
Java JDBC连接与操作深度解析
8 1
|
4天前
|
Java 编译器
Java 8新特性之Lambda表达式与函数式接口
【5月更文挑战第30天】本文将介绍Java 8中的一个重要新特性——Lambda表达式,以及与之密切相关的函数式接口。我们将通过实例分析Lambda表达式的语法、使用方法和优势,同时探讨函数式接口的定义和应用。通过本文的学习,你将能够更好地理解和运用Java 8的这一新特性,提高编程效率和代码可读性。
|
4天前
|
Java
Java的接口与抽象类的区别
Java的接口与抽象类的区别
|
4天前
|
存储 安全 Java
Java list set map等接口及其实现类
Java list set map等接口及其实现类