NAME
DBIx::Foo - Simple Database Wrapper and Helper Functions. Easy DB integration without the need for an ORM.
SYNOPSIS
DBIx::Foo::SimpleQuery
my $dbh = DBIx::Foo->connect(...) # or ->new
my $rows = $dbh->selectall("select * from test");
my $row = $dbh->selectrow("select * from test where ID = ?", 1); # alias for selectrow_hashref
DBIx::Foo::UpdateQuery
This can be used to build a query for writing to the database. First an insert statement:
my $query = $dbh->update_query('test');
$query->addField(Name => 'Foo');
$query->addField(Desc => 'Bar');
my $newid = $query->DoInsert;
And with very similar syntax, an update statement:
my $query = $dbh->update_query('test');
$query->addKey(ID => $newid);
$query->addField(Name => 'Fu');
$query->addField(Desc => 'Baz');
$query->DoUpdate;
This works nicely with data in a hash, which can be interated and used to update or insert as appropriate, based the existence of a key field:
my $data = {
Name => 'Foo',
Desc => 'Bar',
};
foreach my $field (key %$data) {
$query->addField($field => $data->{$field}) if $data->{$field};
}
if (my $id = $data->{ID}) {
# updating
$query->addKey(ID => $id);
$query->DoUpdate;
}
else {
# inserting
my $newid = $query->DoInsert;
}