The ConnectionFactory allows access maintained connections in the siesta.config.json file.
// accessing the default connection $defaultConnection = ConnectionFactory::getConnection(); // accessing a connection by name $customConnection = ConnectionFactory::getConnection("custom");
The connection class abstracts database specific and allows to start transaction and executing queries.
$connection = ConnectionFactory::getConnection(); try { $connection->startTransaction(); ... $resultSet = $connection->query("UPDATE ..."); $connection->commit(); } catch (SQLException $sql) { $connection->rollback(); }
Custom stored procedures allow to return ResultSet objects. ResultSet objects allow iterating over the list rows found including type aware access to the data.
$resultSet = $artistService->getMyCustomList("Parameter1", "parameter2");
// hasNext() method will tell if there is another row available.
while($resultSet->hasNext()) {
// getter allow to access row data
// using the generated const
for every column
$isCool = $resultSet->getBooleanValue(Artist::COLUMN_IS_COOL);
$numberOfAlbums = $resultSet->getIntegerValue(Artist::COLUMN_NUMBER_OF_ALBUMS);
// you can also use name of a column directly
$custom = $resultSet->getFloatValue("custom_column_name");
$artistName = $resultSet->getStringValue(Artist::COLUMN_NAME);
$dob = $resultSet->getDateTime(Artist::COLUMN_DOB);
}
// mandatory(!!!) with storeprocedures
$resultSet->close();