Bases de datos en DART

Actualmente estamos en plena fase cambios de DART, mucha limpieza, cambios de nombres y reescritura de ciertas clases básicas del CORE, del núcleo del SDK de DART.

No obstante ya existen múltiples librerías que pueden hacerte la vida más fácil y mejorar y ampliar las características de tus aplicaciones.

En este caso quiero mostraros un par de librerías para utilizar datos persistentes, acceso a base de datos desde tus aplicaciones DART. Tenemos a nustra disposición un par de DRIVERS para poder acceder a MySQL o MongoDB.

Ambas librerías ya están adaptadas a la nueva versión del SDK, y a la próxima M3 de Dart.

DART y MySQL


// Realizar una nueva conexión.
var pool = new ConnectionPool(host: 'localhost', port: 3306, user: 'bob', password: 'wibble', db: 'stuff', max: 5);

// Realizar una query.
pool.query('select name, email from users').then((result) {...});

// Utilizar los resultados de la query.
for (row in result) {
    print('Name: ${row[0]}, email: ${row[1]}');
}

DART y MongoDB


// Realizar una nueva conexión.
Db db = new Db('mongodb://127.0.0.1/mongo_dart-test');

// Trabajando con la BBDD.
// Abres la base de datos.
db.open().then((c){

    // Aquí trabajas con tu BBDD.

  }).then((v){
     // Por último cerramos la conexión con la BBDD.
     db.close();
  });

 


  // Trabajar con los elementos de una collection.
  // En este caso trabajaremos con students que
  // contiene estos datos:
  // {"name":"Vadim","score":4},
  // {"name": "Daniil","score":4},
  // {"name": "Nick", "score": 5}
  Db db = new Db('mongodb://127.0.0.1/mongo_dart-test');
  int count = 0;
  int sum = 0;

  db.open().then(expectAsync1((c){
    DbCollection students = db.collection('students');
    return students.find().each((v1){
      count++;
      sum += v1["score"];});
  })).then(expectAsync1((v) {
    print('Count: ${count}'); // Count: 3
    print('Sum: ${sum}');      // Sum: 13
    db.close();
  }));


Google+

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s