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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

744b85b · Mar 9, 2025
Mar 9, 2025
Jan 17, 2025
Jan 1, 2025
Mar 10, 2024
Mar 28, 2018
Mar 9, 2025
Apr 14, 2024
Oct 14, 2011
Jan 1, 2025

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