Java 简单操作接口 JDBI

Apache
Java 查看源码»
跨平台
2015-09-21
李三石

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>
的码云指数为
超过 的项目
加载中

评论(12)

zhoujw8792
zhoujw8792
不错#JDBI#
如梦技术
如梦技术
看上去好像很不错 #JDBI#
flygogo
flygogo
jdbc4的感觉? #JDBI#
纳兰清风
纳兰清风
不错! #JDBI#
ccor
ccor
这个思路有点新颖 #JDBI#
_DeepBlue
_DeepBlue
#JDBI# mybatis就有类似的功能 而且更强大 实现原理也很简单
L
Laerf
不错,但是sql语句写在java代码里面我是无法接受的.. #JDBI#
大鲤小肥
大鲤小肥
#spring-data-jpa#相比 有什么优势? #JDBI#
ODMark
ODMark
跟MyBatis很像,还没看出有什么特别之处。 #JDBI#
闲大赋
闲大赋
用beetlsql #JDBI#

暂无资讯

暂无问答

Getting JDBI

1. JDBI下载地址 https://repo1.maven.org/maven2/org/jdbi/jdbi/2.70/jdbi-2.70.jar 2.

2015/11/26 00:35
34
0
Five Minute Introduction

Introduction JDBI is a SQL convenience library for Java. It attempts to expose relational database access in idiommatic Java, using collections, beans, and so on, while maintain...

2015/11/25 23:33
27
0
什么是JDBI,为什么要用?

不想用mybaits、hibernate,也不想用JDBC,怎么办?JDBI是不错的选择。

2014/10/29 22:22
165
0
湖南卫视快乐购招聘【java开发工程师】

湖南卫视快乐购开始招募啦!!!

2014/06/19 10:06
44
0
Metrics介绍

Metrics可以为你的代码的运行提供无与伦比的洞察力。作为一款监控指标的度量类库,它提供了很多模块可以为第三方库或者应用提供辅助统计信息, 比如Jetty, Logback, Log4j, Apache HttpClien...

01/25 11:51
18
0
kafka监控

kafka使用也很久了,如何细粒度的监控kafka,目前还找不到一款比较合适的开源监控工具,但是不妨碍总结一下如何监控kafka,最官方的方法就是使用metrics的值来监控kafka,目前我们就是使用j...

2017/11/03 16:54
1K
0
druid集群搭建

一、基础环境 cdh5.14.0 Hadoop 2.6.0+cdh5.14.0+2715 HDFS 2.6.0+cdh5.14.0+2715 ZooKeeper 3.4.5+cdh5.14.0+136 mysql5.7 在cdh集群上搭建 二、安装 下载druid-0.12.0-bin.tar.gz到/opt/dr...

04/09 16:45
79
0
React+Flux

React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架。也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架。 Facebook官方使用的是 Flux 框架。本文会介绍如何在...

2016/11/10 18:07
18
0
Java资源大全(国外程序员推荐篇)

简介:构建这里搜集了用来构建应用程序的工具。Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建。Maven优于Apache Ant。后者采用了一种过程化的方式进...

2015/11/26 00:43
324
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部