[JAVA] Linkverarbeitung und SQLite

Zusammenfassung der Bedienung der Datenbank mit SQLite aus Processing3.

Ich verweise auf die folgenden Seiten. http://mslabo.sakura.ne.jp/WordPress/make/processing%E3%80%80%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/sqlite%E3%82%92%E4%BD%BF%E3%81%86-db%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3/

Speichern Sie sqlite-jdbc im Skizzenordner.

Öffnen Sie zunächst Processing und speichern Sie die Datei. Dann wird ein Ordner mit Skizzen erstellt. (Speichern Sie es diesmal als DB_test_1.pde.)

Speichern Sie als Nächstes den JDBC, der für den Betrieb von SQLite aus Processing erforderlich ist, im Skizzenordner.

Es gibt verschiedene Arten von JDBC für jede SQL-Sprache, aber JDBC für SQLite kann von der folgenden Site bezogen werden. https://github.com/xerial/sqlite-jdbc

Erstellen Sie für den erhaltenen JDBC einen neuen Codeordner im Skizzenordner und speichern Sie ihn darin. スクリーンショット 2019-11-11 16.31.05.png

Damit sind die Vorbereitungen abgeschlossen.

Schreiben Sie Code mit dem SQL-Paket von Java

Da Processing eine Java-Umgebung ist, können Java-Pakete verwendet werden. Verwenden Sie bei Verwendung von SQL aus Java das Paket java.sql.

Dieses Paket java.sql enthält Klassen, mit denen eine Verbindung zu DBMS (DataBase Management System) hergestellt / getrennt und SQL-Anweisungen gesendet werden können.

Dieses Mal verwenden wir die DriverManager-Klasse, um die Verbindung zu DBMS vorzubereiten, die Connection-Klasse, um eine Verbindung zu DBMS herzustellen, und die Statement-Klasse, um SQL-Anweisungen zu senden.

Der endgültige Code ist unten.

DB_test_1.pde


import java.sql.*; //Paketimport
Connection connection = null; //Deklarieren Sie eine Klasse für die Verbindung

void setup(){
  //Geben Sie den absoluten Pfad zum Generieren der DB-Datei im Skizzenordner an. Wenn testen.Wenn db nicht vorhanden ist, testen Sie beim Ausführen der Skizze.db wird neu erstellt
  String dbName = sketchPath("test.db");
  
  // OPEN DB
  try{
    connection = DriverManager.getConnection("jdbc:sqlite:" + dbName); 
    Statement statement = connection.createStatement();
    statement.setQueryTimeout(30); // set timeout to 30 sec
    
    statement.executeUpdate("drop table if exists person");
    //Senden Sie eine SQL-Anweisung, um eine neue Tabelle zu erstellen
    statement.executeUpdate("create table person(id integer, name)");

    //Versuchen Sie, Daten in die erstellte Tabelle einzufügen
    statement.executeUpdate("insert into person values(1, 'leo')");
    statement.executeUpdate("insert into person values(2, 'yui')");

    //Wählen Sie den gesamten Inhalt der Tabelle aus und laden Sie ihn in die Resultset-Klasse
    ResultSet rs = statement.executeQuery("select * from person");
    while(rs.next()){ //Zeigen Sie die in ResultSet gelesenen Daten an
      // read the result set
      String format = "name: %4s, id: %4d";
      println(String.format(format, rs.getString("name"), rs.getInt("id")));
      //print("name: " + rs.getString("name"));
      //println(", id: " + rs.getInt("id"));
    }
  } catch( SQLException e ){
    println(e.getMessage());
  } finally{
    dbClose();
  }
}

//Eine Funktion, die nur die Ausnahmebehandlung am Ende der Datenbank zusammenfasst
void dbClose(){
  try{
    if(connection != null){
      connection.close();
    }
  } catch (SQLException e){
    e.printStackTrace();
  }
}

Durch Ausführen des obigen Codes wird eine neue Datei test_db erstellt und die eingefügten Daten in der Verarbeitungskonsole angezeigt.

Das Obige ist eine einfache Erklärung zur Verwendung der Datenbank.

Recommended Posts

Linkverarbeitung und SQLite
Gemeinsame Verarbeitung und Fehlerverarbeitung springmvc
[Java] Schleifenverarbeitung und Tabelle von neunundneunzig
Verarbeitungsgeschwindigkeit mit und ohne statische Aufladung
If-Anweisung und Verzweigungsverarbeitung
[Java] Ausnahmetypen und grundlegende Verarbeitung
Verknüpfen Sie Java- und C ++ - Code mit SWIG
Verbinde Asakusa mit M3 BP und DB