Dieses Mal habe ich während der Softwareentwicklung den Datenbankzugriff von Java aus studiert und es ist mir gelungen, die Datenbank zu lesen. Deshalb habe ich einen Artikel geschrieben. Da dies fast meine erste Erfahrung mit dem Zugriff auf eine Datenbank mit JDBC ist, möchte ich dies Schritt für Schritt als Überprüfung von SQLite3 tun.
Informationen zur Verwendung von SQLite3 finden Sie im Artikel Qiita: Zusammenfassung der SQLite3-Betriebsbefehle.
Die Entwicklungsumgebung ist diesmal wie folgt.
Erstellen Sie im Voraus eine Datenbank, um Elemente aus einer vorhandenen Datenbank zu lesen.
Datenbank erstellen
sqlite3 test.db
Definieren Sie Tabelle1
CREATE TABLE table1(id INTEGER PRIMARY KEY, name TEXT NOT NULL);
Zu diesem Zeitpunkt wird eine Datenbankdatei im Verzeichnis erstellt.
Ich habe einige Daten in die INSERT-Anweisung eingefügt, also sehen wir sie uns in der SELECT-Anweisung an.
SELECT * FROM table1;
id name
---------- ----------
1 satou
2 suzuki
3 tanaka
4 katou
5 takahashi
Ich konnte die Datenbank bestätigen.
Für den Zugriff auf SQLite3 von Java aus benötigen Sie den JDBC-Treiber. Laden Sie JDBC aus dem JDBC-Repository herunter (https://bitbucket.org/xerial/sqlite-jdbc/downloads/). Ich denke, die Version kann eine beliebige sein, aber dieses Mal werde ich zum Zeitpunkt des Schreibens die neueste Version von "sqlite-jdbc-3.30.1.jar" herunterladen.
Nachdem Sie den JDBC heruntergeladen haben, kopieren Sie ihn in das Verzeichnis, das die gerade erstellte Datenbank enthält.
Dieses Mal habe ich eine Java-Datei erstellt, indem ich basierend auf dem Code der Site, auf die ich verwiesen habe, entsprechende Änderungen vorgenommen habe.
TestDAtabaseDriver.java
import java.sql.*;
public class TestDatabaseDriver {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("org.sqlite.JDBC");
//Geben Sie den Datenbankpfad an. Es scheint, dass Sie entweder einen relativen oder einen absoluten Pfad wählen können
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
statement = connection.createStatement();
String sql = "select * from table1";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
Kompilieren und ausführen
javac *.java && java -classpath .:sqlite-jdbc-3.30.1.jar TestDatabaseDriver
Ausführungsergebnis
1
2
3
4
5
Aus diesem Ergebnis geht hervor, dass der zu lesende Teil durch den Teil "System.out.println (rs.getString (1))" von TestDAtabaseDriver.java bestimmt wird. Nehmen wir also einige Änderungen vor.
Vorher ändern
System.out.println(rs.getString(1));
Nach der veränderung
System.out.println(rs.getString(1) + "|" + rs.getString(2));
Ich werde es versuchen.
Kompilieren und ausführen
javac *.java && java -classpath .:sqlite-jdbc-3.30.1.jar TestDatabaseDriver
Ausführungsergebnis
1|satou
2|suzuki
3|tanaka
4|katou
5|takahashi
Ich konnte die Datenbank sicher lesen. Dieses Mal habe ich JDBC zum ersten Mal ausprobiert, daher wurde das meiste davon kopiert und eingefügt, aber ich möchte den Bereich basierend darauf erweitern und es in hohem Maße wiederverwendbar machen.
[Datenbank] SQLite3 / JDBC-Zusammenfassung
Recommended Posts