| Dancer::Plugin::Database::Handle |
Dancer::Plugin::Database::Handle
Subclassed DBI connection handle with added features
# in your Dancer app: database->quick_insert($tablename, \%data);
# Updating a record where id = 42: database->quick_update($tablename, { id => 42 }, { foo => 'New value' });
A Dancer::Plugin::Database::Handle object is a subclassed the DBI::db manpage DBI
database handle, with the following added convenience methods:
database->quick_insert('mytable', { foo => 'Bar', baz => 5 });
Given a table name and a hashref of data (where keys are column names, and the values are, well, the values), insert a row in the table.
database->quick_update('mytable', { id => 42 }, { foo => 'Baz' });
Given a table name, a hashref describing a where clause and a hashref of changes, update a row.
The second parameter is a hashref of field => 'value', each of which will be included in the WHERE clause used, for instance:
{ id => 42 }
Will result in an SQL query which would include:
WHERE id = 42
When more than one field => value pair is given, they will be ANDed together:
{ foo => 'Bar', bar => 'Baz' }
Will result in:
WHERE foo = 'Bar' AND bar = 'Baz'
(Actually, parameterised queries will be used, with placeholders, so SQL injection attacks will not work, but it's easier to illustrate as though the values were interpolated directly.)
database->quick_delete($table, { id => 42 });
Given a table name and a hashref to describe the rows which should be deleted, delete them.
All of the convenience methods provided take care to quote table and column
names using DBI's quote_identifier, and use parameterised queries to avoid
SQL injection attacks. See http://www.bobby-tables.com/ for why this is
important, if you're not familiar with it.
David Precious <<davidp@preshweb.co.uk > >
the Dancer::Plugin::Database manpage
Dancer
DBI
| Dancer::Plugin::Database::Handle |