买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明涉及信息处理技术领域,特别是一种标签化搜索条件的容器替换方法。技术方案中容器的主要目的是将不同关系的目标表和条件进行对比,从而判断现有条件是否包含新传入的条件,根据判断结果的不同,执行不同的查询SQL,避免在原SQL上直接“JOIN”新语句,以实现对现有技术查询性能的提升。“query‑tag”标签可以判断当新传入的条件和现有条件相比没有变化时,直接使用原@where条件进行查询,避免现有技术中当条件越多时,SQL的查询效率会降低的问题。
主权项:1.一种标签化搜索条件的容器替换方法,其特征在于包括如下步骤:步骤1,根据员工编码对员工信息进行查询,获取SQL查询语句,查询目标表是人口信息表,查询条件是身份证号和未删除状态;步骤2,将人员信息和员工信息配置@field注解;现有查询目标表是人口信息表,新查询目标表是员工信息表,系统将人口信息表和员工信息表配置@table注解;现有查询条件是身份证号和未删除状态,新查询条件是员工编码,将身份证号和未删除状态以及员工编码条件配置@where注解;步骤3,新增“query-tag”标签,根据查询条件的不同,动态配置查询SQL,包括对原SQL的删除;根据步骤2,通过对现有场景进行解析,获得了@field、@table和@where注解;在@where注解的基础上,新增“query-tag”标签,“query-tag”标签将@where中的条件和新传入条件进行对比,根据条件的不同与否对@where的内容进行动态删减;步骤4,根据步骤3,所述“query-tag”标签由两部分构成,分别是“query”查询条件和“tag”查询标签,“query”部分携带新传入的条件,条件格式为query[condition*],query表示条件是新传入的条件,condition意为条件,符号“*”表示该参数是新传入的条件;根据步骤1新传入的condition为“员工编码”,为描述设“员工编码”为workId,则此时的“query”查询条件描述为query[workId*];步骤5,“query-tag”标签判断现有@where中是否包含“query-tag”标签的条件;根据步骤4“query-tag”标签中“query”查询条件为query[workId*],“tag”查询标签将现有@where中的条件进行提取;根据步骤1现有查询功能是根据身份证号码对人口信息进行查询,在未确定固定查询条件的情况下,现有条件就是“身份证号码”,为描述设“身份证号码”为idCard,“tag”标签表示为tag[idCard^],tag表示条件为现有条件,符号“^”表示是现有的条件;该结果作用是表示现有@where条件,是所述现有@where条件和新传入条件对比的前置步骤;步骤6,新传入的条件和现有@where条件进行对比;该步骤需要在步骤4和步骤5的基础上执行,为表示不同的比较结果进行对比说明;根据步骤5,“query”查询条件表示的新传入查询条件为query[workId*],“tag”查询标签表示的现有@where条件为tag[idCard^];根据步骤2现有查询目标表是人口信息表,新查询目标表是员工信息表,系统将上述表配置@table注解,所述@table注解配置方法非本专利创新内容;设所述人口信息表为population,员工表为worker,对比方法是将目标表和查询条件放入条件关系容器中,条件关系容器表示为{目标表|||条件},其中“|||”是条件关系符号,容器表示“查询目标表所需的条件”,代入所述示例现有条件关系为{population|||tag[idCard^]},上述容器表示的是“查询目标表population所需的现有条件是idCard”,同理将目标表和新传入条件也放入容器,得{worker|||query[workId*]},上述示例表示“查询目标表worker所需的新条件是workId”;上述条件关系放入容器后,容器内有两个条件关系,此时容器表示为:{population|||tag[idCard^]worker|||query[workId*]}该步骤容器将不同关系的目标表和条件进行对比,从而判断现有条件是否包含新传入的条件;判断方式是,根据上述实施例关系容器所示,以“|||”符号为准,“|||”关系符号左侧为要对比的目标表,右侧为要对比的条件,首先将左侧目标表进行对比,再对比右侧条件,以判断在相同目标表的维度下,现有条件是否包含新传入的条件;若“population|||tag[idCard^]”表示关系1,“worker|||query[workId*]”表示关系2,关系1“|||”符号左侧目标表为population,右侧为tag[idCard^];关系2“|||”符号左侧目标表为worker,右侧为query[workId*],对比关系1和关系2,“|||”符号左侧目标表不相同,对比“|||”符号右侧的条件,右侧条件分别为tag[idCard^]和query[workId*],其中query和tag会进行匹配,所示query的条件为workId*,tag的条件为idCard^,带“*”的workId和带“^”的idCard并不是同一条件,也就是说在上述容器中带有tag的现有条件中不包含query的新传入条件;若判断现有条件不包含新传入的条件,就用新传入的条件替换现有条件,即用“workId”替换“idCard”作为新的@where条件,再进行查询;该步骤容器的主要目的是将不同关系的目标表和条件进行对比,从而判断现有条件是否包含新传入的条件,根据判断结果的不同,执行不同的查询SQL,在原SQL上直接“JOIN”新语句;步骤7,用新的查询SQL替换原来的SQL,并返回执行结果。
全文数据:
权利要求:
百度查询: 中电万维信息技术有限责任公司 一种标签化搜索条件的容器替换方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。