transfORM
1.0.0
델파이를위한 미니 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을 사용합니다