📄 exampledatabase.hpp
字号:
#include "litesql.hpp"namespace example {class Person;class Role;class Student;class Employee;class School;class Office;class PersonPersonRelationMother {public: class Row { public: litesql::Field<int> person2; litesql::Field<int> person1; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Person1; static const litesql::FieldType Person2; static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<PersonPersonRelationMother::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationFather {public: class Row { public: litesql::Field<int> person2; litesql::Field<int> person1; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Person1; static const litesql::FieldType Person2; static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<PersonPersonRelationFather::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationSiblings {public: class Row { public: litesql::Field<int> person2; litesql::Field<int> person1; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Person1; static const litesql::FieldType Person2; static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<PersonPersonRelationSiblings::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class PersonPersonRelationChildren {public: class Row { public: litesql::Field<int> person2; litesql::Field<int> person1; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Person1; static const litesql::FieldType Person2; static void link(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void unlink(const litesql::Database& db, const example::Person& o0, const example::Person& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<PersonPersonRelationChildren::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson1(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); static litesql::DataSource<example::Person> getPerson2(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());};class RoleRelation {public: class Row { public: litesql::Field<int> role; litesql::Field<int> person; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Person; static const litesql::FieldType Role; static void link(const litesql::Database& db, const example::Person& o0, const example::Role& o1); static void unlink(const litesql::Database& db, const example::Person& o0, const example::Role& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<RoleRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class SchoolStudentRelation {public: class Row { public: litesql::Field<int> student; litesql::Field<int> school; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType School; static const litesql::FieldType Student; static void link(const litesql::Database& db, const example::School& o0, const example::Student& o1); static void unlink(const litesql::Database& db, const example::School& o0, const example::Student& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<SchoolStudentRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class EmployeeOfficeRelation {public: class Row { public: litesql::Field<int> office; litesql::Field<int> employee; Row(const litesql::Database& db, const litesql::Record& rec=litesql::Record()); }; static const std::string table__; static const litesql::FieldType Employee; static const litesql::FieldType Office; static void link(const litesql::Database& db, const example::Employee& o0, const example::Office& o1); static void unlink(const litesql::Database& db, const example::Employee& o0, const example::Office& o1); static void del(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); static litesql::DataSource<EmployeeOfficeRelation::Row> getRows(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr()); template <class T> static litesql::DataSource<T> get(const litesql::Database& db, const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr());;;};class Person : public litesql::Persistent {public: class SexType : public litesql::FieldType { public: static const int Male; static const int Female; SexType(const std::string& n, const std::string& t, const std::string& tbl, const litesql::FieldType::Values& vals=Values()); }; class Sex { public: static const int Male; static const int Female; }; class MotherHandle : public litesql::RelationHandle<Person> { public: MotherHandle(const Person& owner); void link(const Person& o0); void unlink(const Person& o0); void del(const litesql::Expr& expr=litesql::Expr()); litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); litesql::DataSource<PersonPersonRelationMother::Row> getRows(const litesql::Expr& expr=litesql::Expr()); }; class FatherHandle : public litesql::RelationHandle<Person> { public: FatherHandle(const Person& owner); void link(const Person& o0); void unlink(const Person& o0); void del(const litesql::Expr& expr=litesql::Expr()); litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); litesql::DataSource<PersonPersonRelationFather::Row> getRows(const litesql::Expr& expr=litesql::Expr()); }; class SiblingsHandle : public litesql::RelationHandle<Person> { public: SiblingsHandle(const Person& owner); void link(const Person& o0); void unlink(const Person& o0); void del(const litesql::Expr& expr=litesql::Expr()); litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); litesql::DataSource<PersonPersonRelationSiblings::Row> getRows(const litesql::Expr& expr=litesql::Expr()); }; class ChildrenHandle : public litesql::RelationHandle<Person> { public: ChildrenHandle(const Person& owner); void link(const Person& o0); void unlink(const Person& o0); void del(const litesql::Expr& expr=litesql::Expr()); litesql::DataSource<Person> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); litesql::DataSource<PersonPersonRelationChildren::Row> getRows(const litesql::Expr& expr=litesql::Expr()); }; class RolesHandle : public litesql::RelationHandle<Person> { public: RolesHandle(const Person& owner); void link(const Role& o0); void unlink(const Role& o0); void del(const litesql::Expr& expr=litesql::Expr()); litesql::DataSource<Role> get(const litesql::Expr& expr=litesql::Expr(), const litesql::Expr& srcExpr=litesql::Expr()); litesql::DataSource<RoleRelation::Row> getRows(const litesql::Expr& expr=litesql::Expr()); }; static const std::string type__; static const std::string table__; static const std::string sequence__; static const litesql::FieldType Id; litesql::Field<int> id; static const litesql::FieldType Type; litesql::Field<std::string> type; static const litesql::FieldType Name; litesql::Field<std::string> name; static const litesql::FieldType Age; litesql::Field<int> age;protected: static std::vector < std::pair< std::string, std::string > > sex_values;public: static Person::SexType Sex; litesql::Field<int> sex; static void initValues();protected: void defaults();public: Person(const litesql::Database& db); Person(const litesql::Database& db, const litesql::Record& rec); Person(const Person& obj); const Person& operator=(const Person& obj); Person::MotherHandle mother(); Person::FatherHandle father(); Person::SiblingsHandle siblings(); Person::ChildrenHandle children(); Person::RolesHandle roles(); virtual void sayHello();protected: std::string insert(litesql::Record& tables, litesql::Records& fieldRecs, litesql::Records& valueRecs); void create(); virtual void addUpdates(Updates& updates);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -