transfORM
1.0.0
Delphi的迷你ORM
該庫是對RTTI和仿製藥的實驗,可從關係數據庫中獲得對數據的簡單,面向對象的訪問。
var
ORM : TransfORM;
begin
ORM := TransfORM.Create();
第二步是根據公式定義接口:
I[TableName] = interface(ItransfORMEntity)
function [ColumnNameA] : TransfORMField;
function [ColumnNameB] : TransfORMField;
function [ColumnNameC] : TransfORMField;
[...]
end;
...其中tableName是數據庫和columnNamea,columnNameB等中表的名稱,是您要在給定接口中訪問的列的名稱(它們不必全部)。
最後一步是從表中獲取包含特定行數據的接口實例。為此,我們稱為getinstance方法,給出主鍵的值。
var
Entity : I[TableName];
PKValue : Integer;
begin
PKValue := 100; //primary key value
Entity := ORM.GetInstance<I[TableName], [PKType]>(PKValue, FDConnection);
除了訪問表字段外,實體類還從接口中實現方法:
ItransfORMEntity = interface(IInvokable)
function GetConnection(): TFDConnection;
function GetImmediateCommit(): Boolean;
function HasChanges() : Boolean;
function PrimaryKeyField() : TransfORMField;
procedure Commit(aInSubthread : Boolean = False);
procedure SetImmediateCommit(const aValue: Boolean);
property ImmediateCommit: Boolean read GetImmediateCommit write SetImmediateCommit;
property Connection: TFDConnection read GetConnection;
end;
當前限制:
圖書館使用:Spring4D,FireDac