java - 动态sql生成设计

下午好,

我们正在构建一个网络应用程序,作为构建搜索功能的一部分,有一个关于“搜索功能”的设计问题

UI 和 DB 上的字段名称不同。即UI 上的一个字段称为“Number”,在数据库中称为 Text10。以下是两个问题

  1. 如何在用户提供 UI 字段名称时生成 SQL,我们在数据库中有一个表,我们在其中维护配置(UI 名称到数据库名称)?
  2. 用户选择他要搜索的列,例如选择字段“编号,描述,价格”,一旦生成sql,如何知道什么数据对应于什么列?我们是否必须维护索引捕获位置或 bean? 根据结果​​集收集数据的更好方法是什么?

谢谢

最佳答案

促进 UI 和数据库列名称之间通用性的解决方案会很好,但可能不可行。

捕获以下内容的某种映射表将起作用:

  • 元数据库表名
  • META-DB-COLUMN-NAME
  • META-UI-COLUMN-NAME

就我个人而言,我更愿意将此映射元数据尽可能靠近数据库。

此处从 Oracle 的角度很好地描述了用户定义的元数据: http://docs.oracle.com/cd/B28359_01/appdev.111/b28369/xdb_repos_meta.htm

对此进行一些研究,并将您的发现告知我们。很有趣的问题!

https://stackoverflow.com/questions/31420138/

相关文章:

angularjs - 在剑道下拉列表中选择 "0"作为值的项目

php - 如何改进 PHP IMAP 的电子邮件提取

php - DirectAdmin 上的 OPcache php5.5 已禁用

node.js - gulp 段错误 : 11 and Abort trap: 6 OSX Yose

java - 反向路由 玩 POST payload

xslt - 我们如何使用 jenkins 控制台日志通过和失败计数生成 html 报告?

javascript - limitTo 过滤前查询过滤的 ng-repeat 数据的长度

javascript - 强制 JSON.stringify 使用十进制表示法

c#-4.0 - 是否有用于验证的设计模式?

android - Fused Location 如何确定是使用 GPS 还是网络提供商?