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.
- 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.
- 2024-03-12 | Sql2o 1.7.0 was released
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;
}
When contributing to Sql2o, please follow these coding guidelines.
For additional information, check out the Sql2o Wiki.