Since it looks like sqlite is going to be the db layer for Google Gears, a database abstraction layer may not be a very important feature, since we don’t exactly need portable SQL. However, an object-relational mapping library could come in handy.
gears-dblib didn’t take long to pop up, and you can bet we’ll see something close to ActiveRecord very, very soon. One less reason to get started with those offline-capable apps.
Here’s the example useage for gears-dblib
var db = new GearsDB('gears-test');
var bob = {id: 3, name: 'Bob', url: 'http://bob.com', description: 'whee'};
db.insertRow('person', bob);
db.insertRow('person', bob, 'name = ?', ['Bob']);
db.selectAll('select * from person', null, function(person) {
document.getElementById('selectAll').innerHTML += ' ' + person.name;
});
db.selectRows('person', 'name like ?', ['%'], function(person) {
document.getElementById('selectRows').innerHTML += ' ' + person.name;
});
var person = db.selectRow('person', 'id = 1');
document.getElementById('selectRow').innerHTML = person.name;
// update
person.name = 'Harry';
db.updateRow('person', person);
person = db.selectRow('person', 'id = 1');
document.getElementById('updateRow').innerHTML = person.name;
// force
person.name = 'Sally';
db.forceRow('person', person);
person = db.selectRow('person', 'id = 1');
document.getElementById('forceRow').innerHTML = person.name;
var adam = {name: 'Adam', url: 'http://adam.com', description: 'long hair'};
db.forceRow('person', adam);
person = db.selectRow('person', 'id = 4');
document.getElementById('forceRow2').innerHTML = person.name;
db.deleteRow('person', bob);






1 response so far ↓
tecosystems » links for 2007-06-11 // June 11, 2007 at 12:23 am |
[...] ORM for Google Gears « John Herren’s Blog a logical step for the recently released framework (tags: ORM Google Gears JohnHerren) [...]