Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9971e7d2

Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt

  • ID 9971e7d204ee3efd741660a377e883883a77e057
  • Vorgänger f5b682e0
  • Nachfolger 975a7f96

update

Unterschiede anzeigen:

samples/example/main.cpp
// CuteEntityManager::EntityManager("QSQLITE",
// QDir::currentPath() + "/db.sqlite", "", "", "", 0, true);
CuteEntityManager::EntityManager("QSQLITE",
":memory:", "", "", "", "", true);
":memory:", "", "", "", "", true, "foreign_keys = ON");
SqliteBackupProcessor *sqliteproc = new SqliteBackupProcessor(e->getDb(),
QDir::currentPath());
qWarning() << "DB Loaded:" << sqliteproc->sqliteDBMemFile(false, "db.sqlite");
......
* Instead of startup(version,qstringlist) you can call method createTable of EntityManager (e->create(sharedptr))
* startup will create tables inclusive relation tables for classes in QStringList inits
*/
qWarning() << "Tables created or already set up:" << e->startup("0.1", inits);
qWarning() << "Tables created or already set up:" << e->startup("0.1", inits,
true);
QSharedPointer<CuteEntityManager::Entity> p =
QSharedPointer<CuteEntityManager::Entity>(new Person("Max", "Mustermann",
Person::Gender::MALE, "", "", "",
QDate::currentDate()));
qWarning() << "-----------------------------";
qWarning() << "Persist Group with Relations";
qWarning() << "-----------------------------";
QSharedPointer<Group> gPtr = QSharedPointer<Group>(new Group());
CreateFakeModelData::fillGroup(gPtr.data());
gPtr->setName("9b");
QSharedPointer<Entity> groupPtr = gPtr.objectCast<Entity>();
QSharedPointer<Person> mainTeacher = QSharedPointer<Person>(new Person("Max",
"Mustermann", Person::Gender::MALE));
gPtr->setMainTeacher(mainTeacher);
//Persons will also persisted
if (e->count(groupPtr->getTablename()) <= 0) {
e->create(groupPtr, true, true);
}
qWarning() << "-----------------------------";
qWarning() << "Find All Groups";
qWarning() << "-----------------------------";
QList<QSharedPointer<Group>> groups = e->findAll<Group>();
QSharedPointer<Group> groupFindPtr = groups.at(0);
qWarning() << "Group:" << groupFindPtr->toString();
qWarning() << "MainTeacher:" << groupFindPtr->getMainTeacher()->toString();
// qWarning() << "-----------------------------";
// qWarning() << "Persist Group with Relations";
// qWarning() << "-----------------------------";
// QSharedPointer<Group> gPtr = QSharedPointer<Group>(new Group());
// CreateFakeModelData::fillGroup(gPtr.data());
// gPtr->setName("9b");
// QSharedPointer<Entity> groupPtr = gPtr.objectCast<Entity>();
// QSharedPointer<Person> mainTeacher = QSharedPointer<Person>(new Person("Max",
// "Mustermann", Person::Gender::MALE));
// gPtr->setMainTeacher(mainTeacher);
// //Persons will also persisted
// if (e->count(groupPtr->getTablename()) <= 0) {
// e->create(groupPtr, true, true);
// }
// qWarning() << "-----------------------------";
// qWarning() << "Find All Groups";
// qWarning() << "-----------------------------";
// QList<QSharedPointer<Group>> groups = e->findAll<Group>();
// QSharedPointer<Group> groupFindPtr = groups.at(0);
// qWarning() << "Group:" << groupFindPtr->toString();
// qWarning() << "MainTeacher:" << groupFindPtr->getMainTeacher()->toString();
qWarning() << "-----------------------------";
qWarning() << "Find Person By Id Version 1";
qWarning() << "-----------------------------";
// qWarning() << "-----------------------------";
// qWarning() << "Find Person By Id Version 1";
// qWarning() << "-----------------------------";
QSharedPointer<Entity> personFindPtr = e->findById(1, QString("Person"));
e->refresh(personFindPtr);
QSharedPointer<Person> pers = personFindPtr.objectCast<Person>();
qWarning() << "MainTeacher:" << personFindPtr->toString();
qWarning() << "-----------------------------";
qWarning() << "Find Person By Id Version 2";
qWarning() << "-----------------------------";
// QSharedPointer<Entity> personFindPtr = e->findById(1, QString("Person"));
// e->refresh(personFindPtr);
// QSharedPointer<Person> pers = personFindPtr.objectCast<Person>();
// qWarning() << "MainTeacher:" << personFindPtr->toString();
// qWarning() << "-----------------------------";
// qWarning() << "Find Person By Id Version 2";
// qWarning() << "-----------------------------";
QSharedPointer<Person> foundMainTeacher = e->findById<Person>(1);
qWarning() << "FoundMainTeacher:" << foundMainTeacher->toString();
// QSharedPointer<Person> foundMainTeacher = e->findById<Person>(1);
// qWarning() << "FoundMainTeacher:" << foundMainTeacher->toString();
qWarning() << "-----------------------------";
qWarning() << "Find Pupil with Query Class";
qWarning() << "-----------------------------";
// qWarning() << "-----------------------------";
// qWarning() << "Find Pupil with Query Class";
// qWarning() << "-----------------------------";
Query q = Query();
q.appendWhere(e->getQueryBuilder()->like(QString("firstname"), QString("Tim")));
q.appendJoin(Join("person", "pupil.id = person.id"));
q.setDistinct(true);
q.appendOrderBy(OrderBy(QString("birthday"), Direction::SORT_DESC));
q.setLimit(10);
QList<QSharedPointer<Pupil>> list = e->find<Pupil>(q);
for (int i = 0; i < list.size(); ++i) {
qWarning() << list.at(i)->toString();
}
qWarning() << "-----------------------------";
qWarning() << "Find Pupil by Attributes";
qWarning() << "-----------------------------";
// Query q = Query();
// q.appendWhere(e->getQueryBuilder()->like(QString("firstname"), QString("Tim")));
// q.appendJoin(Join("person", "pupil.id = person.id"));
// q.setDistinct(true);
// q.appendOrderBy(OrderBy(QString("birthday"), Direction::SORT_DESC));
// q.setLimit(10);
// QList<QSharedPointer<Pupil>> list = e->find<Pupil>(q);
// for (int i = 0; i < list.size(); ++i) {
// qWarning() << list.at(i)->toString();
// }
// qWarning() << "-----------------------------";
// qWarning() << "Find Pupil by Attributes";
// qWarning() << "-----------------------------";
QHash<QString, QVariant> attributes;
attributes["familyName"] = QString("Dunst");
QSharedPointer<Pupil> pupil = e->findEntityByAttributes<Pupil>
(attributes, true);
qWarning() << pupil->toString();
qWarning() << "-----------------------------";
qWarning() << "Merge Group";
qWarning() << "-----------------------------";
groupFindPtr->setName("10b");
qWarning() << groupFindPtr->toString();
QSharedPointer<Entity> entityGroupFindPtr = groupFindPtr.objectCast<Entity>();
e->save(entityGroupFindPtr, false);
// QHash<QString, QVariant> attributes;
// attributes["familyName"] = QString("Dunst");
// QSharedPointer<Pupil> pupil = e->findEntityByAttributes<Pupil>
// (attributes, true);
// qWarning() << pupil->toString();
// qWarning() << "-----------------------------";
// qWarning() << "Merge Group";
// qWarning() << "-----------------------------";
// groupFindPtr->setName("10b");
// qWarning() << groupFindPtr->toString();
// QSharedPointer<Entity> entityGroupFindPtr = groupFindPtr.objectCast<Entity>();
// e->save(entityGroupFindPtr, false);
qWarning() << "-----------------------------";
qWarning() << "Remove Group";
qWarning() << "-----------------------------";
e->remove(entityGroupFindPtr);
// qWarning() << "-----------------------------";
// qWarning() << "Remove Group";
// qWarning() << "-----------------------------";
// e->remove(entityGroupFindPtr);
sqliteproc->sqliteDBMemFile(true, "db.sqlite");
qWarning() << "Duration:" << t.elapsed();
delete sqliteproc;

Auch abrufbar als: Unified diff