kotlin
dependencies {
// ...
implementation 'com.squareup.sqldelight:gradle-plugin:1.5.1'
}
kotlin
-- example.sq
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER
);
SELECT * FROM users;
kotlin
plugins {
id("com.squareup.sqldelight") version "1.5.1"
}
sqldelight {
database("Example") {
packageName = "com.example.db"
}
}
shell
./gradlew generateExampleSqlDelightInterface
import com.example.db.ExampleDatabase;
import com.example.db.UsersModel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Example {
public static void main(String[] args) {
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db")) {
ExampleDatabase exampleDb = ExampleDatabase.Companion.invoke(connection);
ResultSet resultSet = exampleDb.getUsers().executeQuery();
while (resultSet.next()) {
UsersModel users = exampleDb.getUsers().resultSetMapper().map(resultSet);
System.out.println("User: " + users.name() + ", age: " + users.age());
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}