dependencies {
implementation "com.squareup.sqldelight:jdbc-driver:$sqldelightVersion"
}
sql
-- MyDatabase.sq
CREATE TABLE MyTable (
id INTEGER PRIMARY KEY,
name TEXT
);
SELECT * FROM MyTable;
kotlin
import com.squareup.sqldelight.gradle.SqlDelightExtension
plugins {
id("com.squareup.sqldelight")
}
sqldelight {
database("MyDatabase") {
packageName = "com.example.db"
outputDirectory = file("src/main/kotlin/com/example/db")
}
}
kotlin
// ...
apply(from = "sqldelight.gradle.kts")
dependencies {
// ...
implementation "com.squareup.sqldelight:runtime:$sqldelightVersion"
implementation "com.squareup.sqldelight:java-driver:$sqldelightVersion"
// ...
}
// ...
./gradlew generateSqlDelightInterface
import com.example.db.MyDatabase;
import com.squareup.sqldelight.sqlite.driver.JdbcDriver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws Exception {
Connection connection = DriverManager.getConnection("jdbc:sqlite:my-database.db");
JdbcDriver driver = new JdbcDriver(connection);
MyDatabase database = MyDatabase.invoke(driver);
database.myTableQueries().selectAll().executeAsList().forEach(row -> {
System.out.println("id: " + row.getId());
System.out.println("name: " + row.getName());
});
connection.close();
}
}