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.
- sqljocky – MySQL driver para DART: http://pub.dartlang.org/packages/sqljocky
- mongo_dart – MongoDB driver para DART: http://pub.dartlang.org/packages/mongo_dart
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(); }));
Leave a comment