Skip to content
This repository was archived by the owner on Mar 3, 2026. It is now read-only.

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Maven Central javadoc jooby-jdbi website

jdbi

JDBI is a SQL convenience library for Java.

DEPRECATED: try the jdbi3 module.

NOTE: This module depends on jdbc module.

exports

dependency

<dependency>
  <groupId>org.jooby</groupId>
  <artifactId>jooby-jdbi</artifactId>
  <version>1.4.1</version>
</dependency>

usage

{
  use(new Jdbi());

  get("/", req -> {
    DBI dbi = require(DBI.class);
    // ... work with dbi
  });

  get("/handle", req -> {
    try (Handle handle = require(Handle.class)) {
      // ... work with dbi handle
    }
  });
}

sql objects

It is pretty straightforward (too):

public interface MyRepository extends Closeable {
  @SqlUpdate("create table something (id int primary key, name varchar(100))")
  void createSomethingTable();

  @SqlUpdate("insert into something (id, name) values (:id, :name)")
  void insert(@ind("id") int id, @Bind("name") String name);
 
  @SqlQuery("select name from something where id = :id")
  String findNameById(@Bind("id") int id);
}

...
{
  use(new Jdbi());

  get("/handle", req -> {
    try (MyRepository h = require(MyRepository.class)) {
      h.createSomethingTable();

      h.insert(1, "Jooby");

      String name = h.findNameById(1);

      return name;
    }
  });
}

configuration

If you need to configure and/or customize a DBI instance, just do:

{
  use(new Jdbi().doWith((dbi, config) -> {
    // set custom option
  }));
}

See JDBI for a detailed usage.