Skip to content

EvidentSolutions/dalesbred

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 Build

Quick-start

Add dependency to your pom.xml:

<dependency>
    <groupId>org.dalesbred</groupId>
    <artifactId>dalesbred</artifactId>
    <version>1.3.4</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).