Pyranid 3.0.0 API
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