首页 > 其他分享 >mORMot2 获取数据集(泛型)

mORMot2 获取数据集(泛型)

时间:2024-04-25 21:57:27浏览次数:29  
标签:end aMale TSQLBaby aList 获取数据 mORMot2 泛型

mORMot2 获取数据集(泛型)

第14章 使用泛型

现代Delphi版本的一个特点是能够使用泛型。


var 
  aMale: TSQLBaby; 

Begin
  aMale := TSQLBaby.CreateAndFillPrepare(Client, 'Name LIKE ? AND Sex = ?',['A\%',ord(sMale)]);
try
  while aMale.FillOne do
   DoSomethingWith(aMale);
  finally
    aMale.Free;
  end; 
end;

可以被替换为


var 
  aList: TObjectList<TSQLBaby>;
  aMale: TSQLBaby;
 ...
begin 
  aList := Client.RetrieveList<TSQLBaby>(’Name LIKE ? AND Sex = ?’,[’A\%’,ord(sMale)]);
  try
    for aMale in aList do
      DoSomethingWith(aMale); 
  finally
    aList.Free;
  end;
end; 

如果你觉得这个更吸引人,那么你就有更多的选择了。但有一个缺点,这个版本会一次性将所有数据下载到内存中。通常这不是问题,但如果你有一个非常大的数据集,你可能会耗尽内存。在服务器上,那将是致命的。

标签:end,aMale,TSQLBaby,aList,获取数据,mORMot2,泛型
From: https://www.cnblogs.com/hieroly/p/18158692

相关文章

  • mORMot2 获取数据集
    mORMot2获取数据集其实在前面想学习mORMot1部分已经收集了很多关于CRUD的示例了,但感觉总是不通透,不能很好使用,一则mORMot函数命令规则比较不同寻常,另外确实示例太少,其实代码注释倒是讲了很多。procedureFillPrepare(Table:TOrmTable;aCheckTableName:TOrmCheckTableName=......
  • mORMot2 定义多对多关系
    mORMot2定义多对多关系处理“hasmany”和“hasmanythrough”关系时,主要涉及到的是多对多关系的数据库设计和管理。以下是对您提供的文本的技术性翻译和解释:多对多关系是通过一个专门为这种关系创建的表来追踪的,将这个关系转变为两个指向相反方向的一对多关系。默认情况下,......
  • 多线程如何和连接池交互获取数据?
    在多线程环境中使用连接池来获取数据库连接时,每个线程都可以从池中请求一个连接,然后使用这个连接来执行数据库操作。由于连接池会管理连接的创建和回收,因此它可以有效地减少数据库连接的创建和关闭次数,从而提高性能。以下是一个简单的例子,展示了如何在多线程环境中使用连接池来获......
  • mormot2 json 操作
    [mormot2json操作]本文非完全原创,本文部分内容来自博客园,作者:{咏南中间件}unitmormot2.json.serial;interfaceusesClasses,SysUtils,mormot.core.buffers,mormot.core.text,mormot.core.json,mormot.core.base//;type{TSerial}TSerial......
  • jackson.dataformat.xml 反序列化 对象中包含泛型
    重点:@JacksonXmlPropertylocalName指定本地名称@JacksonXmlRootElementlocalName指定root的根路径的名称,默认值为类名@JsonIgnoreProperties(ignoreUnknown=true)这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况@JacksonXmlElementWrapper(useWrapping(def......
  • mORMot2 的 Logger日志
    mORMot2的Logger日志Logger很多框架都有,简单的实现就是一个队列加一根线,有复杂的,QDAC里面涉及的就很巧妙,本来QDAC就是个线程框架,所以也有先天优势。在mORMot里面自然也有日志实现,它设计的比较麻烦。mORMot的Logger初始化beginTSynLog.Family.Level:=LOG_VERBOSE;......
  • Java泛型如何对属性操作
    对于多个类型相似的操作,如何实现统一处理,简化操作。例如,现在由多个类定义,类定义中都包含客户编号,但是缺少客户名称。如果采用常规的方式,我对于需要展示客户名称的场景,需要对每个类的每个场景去处理,来根据客户编号获取客户信息,并设置客户名称。但是这种方式对存在很多的冗余代码......
  • JTCR-泛型-12
    什么是泛型具有参数化类型的类、接口或方法。具体的类型在运行时才确定。在泛型出现前通过使用Object引用也可以达到泛型的效果,但是缺乏类型安全检查,泛型添加了这一点。简单的泛型例子//T是类型参数,作为实际类型的占位符classGen<T>{Tv;Gen(To){v=o;......
  • 泛型对象的使用
    泛型对象的使用packagecom.example.core.mydemo.java;importjava.util.Objects;/***output:*null*null*java.lang.Object@3b07d329*0*java.lang.Object@41629346*0*@param<T>*/publicclassObjectTest<T>{public<T>S......
  • 泛型模板化设计DEMO
    泛型模板化设计DEMO1.定义Result泛型类packagecom.example.core.mydemo.java.fanxing;publicclassResult<T>{Tresponse;publicTgetResponse(){returnresponse;}publicvoidsetResponse(Tresponse){this.response=res......