A really basic persistence thing for dart and sqljocky. Define an Entity, create an EntityDao, create, read, update and delete entities. Doesn't manage relationships or anything clever like that.

@Entity(table: "thing")
class Thing {
  @Attribute(primaryKey: true)
  String userId;
  String name;
  int age;
  Thing(this.userId, this.name, this.age);

var pool = new ConnectionPool(...);
var dao = new EntityDao<Thing>(pool);

var thing = new Thing("bob", "Bob", 25);
await dao.insertNew(thing);

var things = await dao.readAll();

thing.age = 25;
await dao.update(thing);

await dao.delete(thing);