首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4806939/blog/16516829

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

从ORM到OQM之3:查询对象和动态查询映射

1. 引言 在对使用if语句构建动态查询的代码进行重构后,我们实现了一种可以通过查询对象的实例直接构建动态查询的方法。这种方法包括以下步骤: 遍历查询对象的所有字段; 通过反射获取字段的赋值,根据已赋值字段的注解得到对应的查询条件,并将字段的赋值添加到参数列表。 使用AND将多个查询条件组合成查询子句。 借助这种方法,每新增一个查询条件,只需在查询对象中添加一个字段和声明了SQL条件的注解即可。 并且由于其通用性,构建动态查询的实现方法可以放在单独的仓库中进行维护和发布。 然而,随着查询条件的类型和数量的增加,通过注解声明查询条件的弊端也逐渐显现,主要存在以下问题: 查询条件中的列名和字段名称存在重复; IN操作符的变长占位符需要特殊处理; 需要使用OR运算符连接多个查询条件; 需要支持子查询。 通过分析,我们发现操作符为等号的查询条件可以直接从字段名映射而得,从而避免在注解中重复编写SQL条件。这也让我们发现了消除SQL注解这个优化方向。 2. 查询条件归类 基于查询条件的特性,我们将其分为以下四类,每类查询条件由一种类型的字段映射得到: 包含列名、运算符和参数的基础查询条件 使用A...

软件要出海,不能总是单打独斗

今年10月, Next Stack 技术联盟宣布成立,发起人是国内四家软件公司的 CEO:观测云 CEO 蒋烁淼、OceanBase CEO 杨冰、AutoMQ 联合创始人兼 CEO 王小瑞,以及Bytebase 联合创始⼈兼 CEO 陈天舟。 近日,开源中国 OSCHINA 把他们请到了【开源漫谈】直播间,与 EMQ 市场&开发者社区总监顾钧展开对话。 本来是请他们回答关于打造新一代基础软件技术栈的三个问题:是什么、为什么、怎么样。显然,聊着聊着,最后的话题并不仅仅局限这三个问题。 “Next Stack”的背后隐藏着一个关键词——中国。即使在当前复杂的政治环境下,我们依然期望中国的技术和产品能力能够覆盖全世界。 过去十多年,基于互联网快速发展积累起来的技术相当庞杂。下一代技术栈实际上是在做减法,为用户提供技术红利,让他们能够将专注和精力投入到应用开发本身。 联盟是开放的,即使是竞争产品,甚至是云服务商,我们也希望保持开放。 作为一个软件行业从业者,我看到了国内外软件的差距,并曾希望能改变这一现状,但感到个人力量有限。我们希望联盟可以团结所有可以团结的力量,走向全球市场。 云...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。