groovy
implementation "com.squareup.sqldelight:${sqldelight_version}"
implementation "com.squareup.sqldelight:jdbc-driver:${sqldelight_version}"
implementation "org.xerial:sqlite-jdbc:${sqlite_version}"
sql
CREATE TABLE user (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
);
SELECT * FROM user;
import com.squareup.sqldelight.sqlite.driver.JdbcSqliteDriver;
public class Main {
public static void main(String[] args) {
JdbcSqliteDriver driver = new JdbcSqliteDriver("jdbc:sqlite:/path/to/database.db");
Database database = Database(drier);
// ...
}
}
import com.squareup.sqldelight.db.SqlCursor;
// ...
String query = "SELECT * FROM user";
try (SqlCursor cursor = database.getConnection().executeQuery(query)) {
while (cursor.next()) {
int id = cursor.getInt("id");
String name = cursor.getString("name");
int age = cursor.getInt("age");
System.out.println("User ID: " + id + ", Name: " + name + ", Age: " + age);
}
}
String insertQuery = "INSERT INTO user (name, age) VALUES (?, ?)";
try (PreparedStatement statement = database.getConnection().prepareStatement(insertQuery)) {
statement.setString(1, "John Doe");
statement.setInt(2, 30);
statement.executeUpdate();
}
import java.sql.SQLException;
// ...
try {
database.getConnection().setAutoCommit(false);
// ...
database.getConnection().commit();
} catch (SQLException e) {
database.getConnection().rollback();
// ...
}