mercredi 25 septembre 2013

PostgreSQL en Dart

DB or not DB?
#dartlang #postgresql 

+Thomas Pedersen a tenté d’explorer les possibilités pour communiquer avec une base de données PostgreSQL à partir de Dart. Il fait part de son expérience et a partagé son code.

Il a bien sûr commencé par installer un package indispensable, postgresql :
  dependencies:
    postgresql: 0.2.8

Deuxième étape, il s’est connecté à la base de données, c’est simple et c’est en asynchrone :
  var uri = 'postgres://username:password@localhost:5432/dbname';
  
  connect(uri).then((Connection connection) {
    // Queries...
    connection.close();
  });

Enfin, il a lancé ses requêtes, aussi en asynchrones :
  final String query = "SELECT id, firstname, lastname, height FROM person";
  connection.query(query).listen((row) {
    print("(${row.id}) ${row.firstname} ${row.lastname} - ${row.height}m");
  });

  final String query = “INSERT INTO person (firstname, lastname, dateofbirth, height) VALUES ('$firstname', '$lastname', '$dateOfBirth', $height);";
  connection.execute(query).then((rowsAffected) {
    print("Rows Affected: $rowsAffected");
  });

Il a été surpris par la simplicité d’utilisation de la librairie. Celle-ci profite des possibilités du langage dynamique tel que l’accès direct aux colonnes mais aussi de l’exécution des requêtes en asynchrone grâce à l’utilisation de Future et de Stream. Elle propose d’autres fonctionnalités dont la gestion de paramètres pour les requêtes et la gestion d’un pool de connexion.

Aucun commentaire:

Enregistrer un commentaire