Выборка строк из SQLite
Запрос SELECT возвращает набор строк. Его
запускают методом executeQuery, который
выдаёт объект ResultSet.
Курсор двигается вызовом next: пока метод
возвращает true, текущая строка доступна
для чтения. Значения берут по имени столбца:
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 {
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:archive.db")) {
try (Statement statement = connection.createStatement()) {
statement.execute("""
CREATE TABLE IF NOT EXISTS folders (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL
)
""");
statement.executeUpdate(
"INSERT INTO folders (title) VALUES ('2024')"
);
statement.executeUpdate(
"INSERT INTO folders (title) VALUES ('2025')"
);
ResultSet result = statement.executeQuery("SELECT title FROM folders ORDER BY id");
while (result.next()) {
System.out.println(result.getString("title"));
}
}
}
}
}
}
Цикл while обходит все совпавшие записи.
Имена в getString должны совпадать с
алиасами или колонками в SELECT:
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 {
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:archive.db")) {
try (Statement statement = connection.createStatement()) {
ResultSet result = statement.executeQuery("SELECT id, title FROM folders");
while (result.next()) {
System.out.println(result.getInt("id"));
System.out.println(result.getString("title"));
}
}
}
}
}
}
Создайте таблицу badges в crew.db,
вставьте два названия и выведите каждое название.
Выведите идентификатор и название для каждой
записи таблицы badges отдельными
строками в консоль.