Pyranid 3.0.0 API

Pyranid

Pyranid is a zero-dependency JDBC interface for modern Java applications.

See https://www.pyranid.com for more detailed documentation and code samples.
// Minimal setup, uses defaults
DataSource dataSource = ...
Database database = Database.withDataSource(dataSource).build();

// Queries
Optional<Car> specificCar = database.queryForObject("SELECTFROM car WHERE id = ?", Car.class, 123);
List<Car> blueCars = database.queryForList("SELECTFROM car WHERE color = ?", Car.class, Color.BLUE);
Optional<UUID> id = database.queryForObject("SELECT id FROM widget LIMIT 1", UUID.class);
List<BigDecimal> balances = database.queryForList("SELECT balance FROM account", BigDecimal.class);

// Statements
long updateCount = database.execute("UPDATE car SET color = ?", Color.RED);
Optional<UUID> id = database.executeForObject("INSERT INTO book VALUES (?) RETURNING id", UUID.class, "The Stranger");

// Transactions
database.transaction(() -> {
  BigDecimal balance1 = database.queryForObject("SELECT balance FROM account WHERE id = 1", BigDecimal.class).get();
  BigDecimal balance2 = database.queryForObject("SELECT balance FROM account WHERE id = 2", BigDecimal.class).get();

  balance1 = balance1.subtract(amount);
  balance2 = balance2.add(amount);

  database.execute("UPDATE account SET balance = ? WHERE id = 1", balance1);
  database.execute("UPDATE account SET balance = ? WHERE id = 2", balance2);
});
Packages
Package
Description
This package contains the set of all Pyranid types.