载入中...
搜索中...
未找到
Database.h
浏览该文件的文档.
91 int updateJson(const std::string& table, const std::string& json, const std::string& whereClause);
94 int updateByKey(const std::string& table, const Row& values, const std::string& key, const Value& id);
160 Repository(Connection& connection, Mapping<T> mapping) : connection_(connection), mapping_(std::move(mapping)) {}
176 int insert(const T& object) { return connection_.insert(mapping_.table, mapping_.toRow(object)); }
200 int remove(const Value& id) { return connection_.removeByKey(mapping_.table, primaryKey().name, id); }
Definition Module.h:43
SQLite connection with a small ORM layer on top of Poco::Data. Tables/columns are quoted identifiers;...
Definition Database.h:62
int save(const Mapping< T > &mapping, const T &object)
ORM helper: persists one mapped object.
Definition Database.h:106
std::string queryJson(const std::string &sql)
Runs query() and serializes the rows to a JSON array.
Definition Database.cpp:119
std::vector< Row > query(const std::string &sql)
Runs a SELECT and returns every row as name/value maps.
Definition Database.cpp:103
Connection & operator=(const Connection &)=delete
Query * from(std::string table)
Builds a fluent Query builder for a table.
Definition Database.cpp:173
std::vector< Row > queryByKey(const std::string &table, const std::string &key, const Value &id)
Selects rows where key == id.
Definition Database.cpp:165
int update(const std::string &table, const Row &values, const std::string &whereClause)
Updates rows matching whereClause; returns the affected row count.
Definition Database.cpp:135
int insert(const std::string &table, const Row &values)
Inserts a row map; returns the affected row count.
Definition Database.cpp:121
Connection(const Connection &)=delete
int remove(const std::string &table, const std::string &whereClause)
Deletes rows matching whereClause; returns the affected row count.
Definition Database.cpp:146
int removeByKey(const std::string &table, const std::string &key, const Value &id)
Deletes a single row by primary key value.
Definition Database.cpp:161
int exportECS(const std::string &table, const Range &entities, Mapper mapper)
ORM helper: persists a range of mapped entities in one transaction.
Definition Database.h:112
int execute(const std::string &sql)
Executes a statement; returns the affected row count.
Definition Database.cpp:98
int updateJson(const std::string &table, const std::string &json, const std::string &whereClause)
Script-friendly update; whereClause is raw SQL.
Definition Database.cpp:153
int insertJson(const std::string &table, const std::string &json)
Script-friendly insert: JSON must be an object of column/value pairs.
Definition Database.cpp:150
int updateByKey(const std::string &table, const Row &values, const std::string &key, const Value &id)
Updates a single row by primary key value.
Definition Database.cpp:157
Database module (eve.Database): SQLite connection factory. Script: db <- eve.Database(); conn <- db....
Definition Database.h:242
Database()=default
Connection * connectSQLite(std::string path)
Opens a SQLite database file (":memory:" is supported).
Definition Database.cpp:260
~Database() override=default
Connection * connect(std::string connector, std::string connectionString)
Opens a connection with an explicit Poco connector name.
Definition Database.cpp:257
Module_REG(Database)
int updateJson(const std::string &idJson, const std::string &json)
Definition Database.cpp:248
std::string findJson(const std::string &idJson)
Definition Database.cpp:245
Composable filtered/sorted/paged query shared by C++ and scripts.
Definition Database.h:133
Query * orderBy(const std::string &column, bool ascending=true)
Definition Database.cpp:191
Query * where(const std::string &column, const std::string &op, Value value)
Definition Database.cpp:179
Query * whereJson(const std::string &column, const std::string &op, const std::string &valueJson)
Definition Database.cpp:187
Typed active-record repository built from a Mapping<T>.
Definition Database.h:158
std::vector< T > select(const std::function< void(Query &)> &configure)
Definition Database.h:202
void createTable(bool ifNotExists=true)
Definition Database.h:162
Repository(Connection &connection, Mapping< T > mapping)
Definition Database.h:160
Definition Database.h:15
Definition Database.cpp:17
std::variant< std::monostate, std::int64_t, double, std::string, bool > Value
Definition Database.h:24
A named field used by the small, explicit ORM mapping layer.
Definition Database.h:29
Definition Database.h:38