如何在mORMot上使用数据库存储过程?
How to use database stored procedures on mORMot?
我正在使用 mORMot 和 Delphi 实现一个应用程序,该应用程序来自现有的客户端-服务器应用程序,该应用程序使用 Firebird 数据库,其中包含许多处理更新某些表和查询非常复杂的数据的存储过程。重新实现并将所有内容从数据库移动到应用程序端会花费太长时间。
我不知道该怎么办。任何人,请帮助指导我如何使用 - 在 mORMot 上调用 Firebird 存储过程。 (如果有例子就好了。)
存储过程非常适合直接访问数据库,但对于现代设计来说却是一场噩梦。所以在mORMot中没有direct/native方式的运行存储过程,因为它对ORM设计没有意义,而现代SOA/Microservices/DDD架构。
你可以用 mORMot 做什么,你现有的项目是:
使用多个接口创建第一层可重用“business/model”服务 - 您自己的“逻辑工具箱”;
让这些接口的实现 类 使用现有的 FireBird 访问库调用现有的存储过程;
使用另一组 public REST 端点发布“business/model”层服务,使用基于 mORMot 接口的服务,以及使用简单的 DTO 改进 REST 接口;
让您的客户端应用程序的新形式从 RAD 切换到此 n-Tier/REST 设计,如果可能,调用此新的 mORMot 基于接口的服务;
考虑编写一些新的客户端代码,可能来自 JavaScript REST/JSON 客户端(您可以使用 third-party 公司);
看看 mORMot Web MVC 层 - php-like 框架的功能 - 这可能有助于从您的网站编写一些动态网页现有的“business/model”层;
考虑对新表和新数据使用 mORMot ORM
,也许切换到具有自己的 SQLite3 持久层(或Firebird 仍然是您真正想要的,但您可以使用 ORM 进行切换);
受益于框架的许多 cross-cutting 功能,例如日志记录、pdf 或 JSON 处理。
查看文档常见问题解答,并在 mORMot/Synopse 论坛中提问。
检查实例:
我正在使用 mORMot 和 Delphi 实现一个应用程序,该应用程序来自现有的客户端-服务器应用程序,该应用程序使用 Firebird 数据库,其中包含许多处理更新某些表和查询非常复杂的数据的存储过程。重新实现并将所有内容从数据库移动到应用程序端会花费太长时间。
我不知道该怎么办。任何人,请帮助指导我如何使用 - 在 mORMot 上调用 Firebird 存储过程。 (如果有例子就好了。)
存储过程非常适合直接访问数据库,但对于现代设计来说却是一场噩梦。所以在mORMot中没有direct/native方式的运行存储过程,因为它对ORM设计没有意义,而现代SOA/Microservices/DDD架构。
你可以用 mORMot 做什么,你现有的项目是:
使用多个接口创建第一层可重用“business/model”服务 - 您自己的“逻辑工具箱”;
让这些接口的实现 类 使用现有的 FireBird 访问库调用现有的存储过程;
使用另一组 public REST 端点发布“business/model”层服务,使用基于 mORMot 接口的服务,以及使用简单的 DTO 改进 REST 接口;
让您的客户端应用程序的新形式从 RAD 切换到此 n-Tier/REST 设计,如果可能,调用此新的 mORMot 基于接口的服务;
考虑编写一些新的客户端代码,可能来自 JavaScript REST/JSON 客户端(您可以使用 third-party 公司);
看看 mORMot Web MVC 层 - php-like 框架的功能 - 这可能有助于从您的网站编写一些动态网页现有的“business/model”层;
考虑对新表和新数据使用 mORMot
ORM
,也许切换到具有自己的 SQLite3 持久层(或Firebird 仍然是您真正想要的,但您可以使用 ORM 进行切换);受益于框架的许多 cross-cutting 功能,例如日志记录、pdf 或 JSON 处理。
查看文档常见问题解答,并在 mORMot/Synopse 论坛中提问。
检查实例: