Skip to content
/ sql2o Public

sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.

License

Notifications You must be signed in to change notification settings

aaberg/sql2o

Repository files navigation

sql2o Github Actions Build Maven Central

Sql2o is a lightweight Java library designed to simplify database interaction. It automatically maps query results into POJO objects, providing an easy-to-use alternative to ORMs, without SQL generation capabilities.

Java versions

  • Sql2o 1.9.0 and newer is only compatible with Java 17 or later because it adds support for records.
  • If you use Java 11, sql2o 1.8.x is compatible.
  • If you are still on Java 8, use sql2o 1.6.x.

Announcements

Quick Start Example

Here's a basic example demonstrating how to use Sql2o to interact with a database:

import org.sql2o.*;

public class Main {
    public static void main(String[] args) {
        String url = "jdbc:h2:mem:test"; // Example using H2 in-memory database
        try (Sql2o sql2o = new Sql2o(url, "username", "password");
             Connection con = sql2o.open()) {
            
            con.createQuery("CREATE TABLE users (id INTEGER PRIMARY KEY, name VARCHAR(50))").executeUpdate();
            con.createQuery("INSERT INTO users (id, name) VALUES (:id, :name)")
                .addParameter("id", 1)
                .addParameter("name", "Alice")
                .executeUpdate();
            
            User user = con.createQuery("SELECT * FROM users WHERE id = :id")
                            .addParameter("id", 1)
                            .executeAndFetchFirst(User.class);
            
            System.out.println("User: " + user.name);
        }
    }
}

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

Coding Guidelines

When contributing to Sql2o, please follow these coding guidelines.

Wiki

For additional information, check out the Sql2o Wiki.

About

sql2o is a small library, which makes it easy to convert the result of your sql-statements into objects. No resultset hacking required. Kind of like an orm, but without the sql-generation capabilities. Supports named parameters.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages