[JAVA] Traitement des liens et SQLite

Résumé de l'utilisation de la base de données à l'aide de SQLite de Processing3.

Je me réfère aux sites suivants. 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/

Enregistrez sqlite-jdbc dans le dossier d'esquisse.

Tout d'abord, ouvrez Traitement et enregistrez le fichier. Ensuite, un dossier de croquis est créé. (Cette fois, enregistrez-le sous DB_test_1.pde)

Ensuite, enregistrez le JDBC requis pour faire fonctionner SQLite à partir du traitement dans le dossier d'esquisse.

Il existe différents types de JDBC pour chaque langage SQL, mais JDBC pour SQLite peut être obtenu sur le site suivant. https://github.com/xerial/sqlite-jdbc

Pour le JDBC obtenu, créez un nouveau dossier de code dans le dossier d'esquisse et enregistrez-le dedans. スクリーンショット 2019-11-11 16.31.05.png

Ceci termine les préparatifs.

Écrire du code à l'aide du package SQL de Java

Le traitement étant un environnement Java, les packages Java peuvent être utilisés. Lorsque vous utilisez SQL à partir de Java, utilisez le package java.sql.

Ce package java.sql contient des classes qui peuvent être utilisées pour se connecter / se déconnecter au SGBD (DataBase Management System) et envoyer des instructions SQL.

Cette fois, nous utiliserons la classe DriverManager pour préparer la connexion au SGBD, la classe Connection pour la connexion au SGBD et la classe Statement pour l'envoi d'instructions SQL.

Le code final est ci-dessous.

DB_test_1.pde


import java.sql.*; //Importation de package
Connection connection = null; //Déclarer une classe pour la connexion

void setup(){
  //Spécifiez le chemin absolu pour générer le fichier DB dans le dossier d'esquisse. Si test.Si db n'existe pas, testez lors de l'exécution de l'esquisse.db est nouvellement créé
  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");
    //Envoyer une instruction SQL pour créer une nouvelle table
    statement.executeUpdate("create table person(id integer, name)");

    //Essayez d'insérer des données dans la table créée
    statement.executeUpdate("insert into person values(1, 'leo')");
    statement.executeUpdate("insert into person values(2, 'yui')");

    //Sélectionnez tout le contenu de la table et chargez-le dans la classe Resultset
    ResultSet rs = statement.executeQuery("select * from person");
    while(rs.next()){ //Afficher les données lues dans ResultSet
      // 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();
  }
}

//Une fonction qui résume uniquement la gestion des exceptions à la fin de la base de données
void dbClose(){
  try{
    if(connection != null){
      connection.close();
    }
  } catch (SQLException e){
    e.printStackTrace();
  }
}

L'exécution du code ci-dessus créera un nouveau fichier test_db et affichera les données insérées dans la console de traitement.

Ce qui précède est une explication simple de la façon d'utiliser la base de données.

Recommended Posts

Traitement des liens et SQLite
Traitement courant et traitement des erreurs Springmvc
[Java] Traitement en boucle et table de quatre-vingt-dix-neuf
Vitesse de traitement avec et sans statique
Traitement des relevés et des succursales
[Java] Types d'exception et traitement de base
Lier le code Java et C ++ avec SWIG
Lier Asakusa sur M3 BP et DB