【问题标题】:How to keep the SQL queries used in Website and APIs common如何保持网站和 API 中使用的 SQL 查询通用
【发布时间】:2018-06-05 02:44:55
【问题描述】:

我正在开发一个使用 MySQL 作为数据库的 Web 平台。我还在为该平台制作一个移动应用程序,并使用 API 从数据库中获取数据。 保持单个 SQL 查询集的机制是什么,可以满足 Web 和移动应用程序 API 的需求,而不会影响其独特的要求。 如果有对 sql 查询的修复,我必须做两次,我想避免这种情况,因为它容易出错。

【问题讨论】:

  • 有哪些独特的要求?你不能只向两者公开一个公共网络服务吗?
  • 你是对的,不是所有的东西都是独一无二的。但是为了在移动和网络上充分利用 UI,内容的呈现方式是不同的,这会导致 SQL 查询发生变化
  • 很公平 :-) 就个人而言,除非两者之间存在显着且成本高昂的差异,否则我会找到一种方法使其发挥作用。 rob conklin 的解决方案本质上是在说同样的事情——只是在我的 SQL 驱动的 Web 服务中没有继承的概念。
  • 我发现这个链接适合我的要求。我试图了解基于动态 WHERE 子句的方法对性能的影响。 phpdelusions.net/pdo_examples/dynamical_where
  • 你可以在没有动态 SQL 的情况下做到这一点,例如select * from table where (param1 = param1input or param1 is null) AND (param2 = param2input or param2 is null)。

标签: mysql rest database-design architecture


【解决方案1】:

将数据访问层创建为库。遵守open-closed principal 允许您的对象根据需要进行扩展,以处理您的特殊要求。

【讨论】:

  • 谢谢罗伯。我在我的项目中使用 Php 和 Codeigniter。让我检查一下这个概念是否适用。
猜你喜欢
  • 1970-01-01
  • 2022-10-27
  • 2020-01-19
  • 2018-12-05
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多