Skip to content
Dalesbred - a database access library for Java
Java Kotlin HTML CSS
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
dalesbred-junit
dalesbred
docs
gradle
src/asciidoc
website
.gitignore
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
build.gradle.kts
gradlew
gradlew.bat
settings.gradle.kts

README.md

Dalesbred

Dalesbred is a breed of domestic sheep originating in the United Kingdom.

It is also a library that strives to make database access from Java nicer. Dalesbred assumes that SQL is a great way to access database, but that JDBC as an API causes pain. Therefore it wraps JDBC with a set of helpers while still providing access to low-level functionality.

Visit the Dalesbred website for details.

Build Status

Quick-start

Add dependency to your pom.xml:

<dependency>
    <groupId>org.dalesbred</groupId>
    <artifactId>dalesbred</artifactId>
    <version>1.3.2</version>
</dependency>

Create a class with public fields, normal JavaBean accessors or a constructor matching your SQL-query. For example:

public class Department {
    public int id;
    public String name;
}

Create a database connection:

Database db = Database.forUrlAndCredentials("jdbc:example-url", "login", "password");

Fetch matching rows from table:

List<Department> departments = db.findAll(Department.class,
        "select id, name from department where name like ?", "%foo");

Insert a new row:

db.update("insert into user (id, name) values (?, ?)", 42, "Example User");

Improve your experience with Kotlin and bundled extension methods:

val departments = db.findAll<Department>("""
    select id, name 
      from department
      where name like ?""", 
    "%foo")

Documentation

IDEA-integration

If you're using IntelliJ IDEA, check out Dalesbred IDEA Plugin, which provides inspections for common errors (e.g. mismatch between query parameters and query).

You can’t perform that action at this time.