用Oracle的dual表实现java代码中动态条件判断的方法技术

技术编号:6053496 阅读:1017 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种用Oracle的dual表实现java代码中动态条件判断的方法,本发明专利技术用Oracle的dual表实现java代码中动态条件判断,达到了java代码中条件的动态配置且动态执行的目的,提高了判断逻辑模块的灵活性和可维护性。本发明专利技术的有益效果是,可以灵活地配置判断逻辑模块的判断条件,而不用关心该条件如何在代码中进行解析并动态判断,特别是在判断条件根据需求经常发生变动时,仅仅需要在配置中对条件进行修订,而不必修改相应代码,即可使新条件生效。

Implementation of dynamic conditional judgment in Java code using Oracle's dual table

The invention provides a method for realizing dynamic conditional java code using the Oracle dual table, the invention uses the Oracle dual table to determine the dynamic conditions of the Java code, the Java code satisfies the conditions of dynamic configuration and dynamic execution to improve the judgment logic module, flexibility and maintainability. The invention has the advantages that can be flexibly configured condition judgment logic module, and do not care about the conditions in the code analysis and dynamic judgment, especially in the judgment condition according to the demand changes frequently, only in the configuration of the conditions for revision, without having to modify the code, you can the new conditions in force.

【技术实现步骤摘要】

本专利技术涉及一种计算机技术,适用于那些有较多执行分支的java应用,而且这些 执行分支的条件需要灵活配置的一种用Oracle的dual表实现java代码中动态条件判断 的方法。因用到Oracle的dual表,所以本专利技术只适用于数据库为Oracle的java数据库应用。
技术介绍
目前,java应用中一些灵活可配置条件的判断是要专门的解析类去实现的,针对 条件中不同的运算符和关系符,解析类中必须要有相应解析代码,如果新增一些运算符和 关系符,对应要扩充解析类,可维护性不高,且实现复杂,给开发和测试都带来了不便。Oracle的dual表是一个虚拟表,用来查那些不属于实际表里的内容,用来构成 select的语法规则。我们可以将逻辑复杂的条件语句放在sql语句的where子句中进行判断,查询虚 拟表dual即可执行获得条件判断结果,创新地利用dual表来解决了 java动态执行条件判 断代码的不便性。
技术实现思路
本专利技术的目的是提供一种在java代码中动态执行配置好的条件代码的方法。本专利技术的目的是按以下方式实现的,本专利技术创新利地用Oracle的dual表实现了 java动态条件判断执行,配置的条件语句放在配置文件中,具体的变量1用$ {x}表示,条件 为(${a} > IOand ‘${b}’ =,test_s' ) or ($ {c}+$ {D} <>3),在代码中动态判断这个条件 是否成立;具体步骤如下DJava代码在执行分支判断时,从配置中读取配置的条件语句;^Java代码替换该条件语句中的变量为实际的变量值;然后将配置的条件中的 所有变量放到一个hashmap中去,然后轮询这些变量进行实际值替换得到一个赋入实值后 的条件语句;3)将替换后的语句拼装至丨J Oracle的sql语句select count (*) from dual的 where子句中,连接Oracle数据库进行该sql语句的查询;然后在应用中获取数据库连接 后执行该sql,Java代码根据查询结果为0或1来判断条件是否满足,1表示满足,0表示不 两足;4)应用根据此返回值来决定是否执行分支。本专利技术的主要优点是可以在配置中灵活地配置一个分支执行的条件,并在java 代码中动态的执行该条件判断,而不用修改判断代码或者编写专门的解析判断语句代码, 使条件的配置更具灵活性。本专利技术的有益效果是1)可以灵活地配置判断条件,而不用关心条件在代码中的 判断执行,特别是在判断条件根据需求经常发生变动时,仅仅需要在配置中对条件进行修订,而不必修改程序,即可使新条件生效。2)可以灵活地配置判断逻辑模块的判断条件,而不用关心该条件如何在代码中进 行解析并动态判断,使条件的配置和判断执行更具灵活性,附图说明图1为利用Oracle的dual表实现java代码中动态条件判断的流程图。 具体实施例方式参照说明书附图对本专利技术的方法作以下详细地说明。在本专利技术的方法中,配置的条件语句可以放在配置文件中,具体的变量(如X)可 以用 ${x}表示,比如条件为($ {a} > IOand ‘${b},=,test_s,)or ($ {c}+$ {D} <>3),接 下来就是如何在代码中动态判断这个条件是否成立;具体步骤如下1)首先从配置中读取配置的条件语句;2)然后将配置的条件中的所有变量放到一个hashmap中去,然后轮询这些变量进 行实际值替换得到一个赋入实值后的条件语句;3)将该语句放在 Oracle 的 sql 语句 select count (*) from dual 的 where 子句 中,然后在应用中获取数据库连接后执行该sql,根据查询结果为0或1来判断条件是否满 足,1表示满足,0表示不满足;4)应用根据此返回值来决定是否执行分支。除说明书所述的技术特征外,均为本专业技术人员的已知技术。权利要求1.,其特征在于,配置的条件语句放在配置文件中,具体的变量χ用${x}表示,条件为(${a} > IOand ‘${b},=’切计_8,)01~(${0}+${0}<>3),在代码中动态判断这个条件是否成立;具 体步骤如下1)Java代码在执行分支判断时,从配置中读取配置的条件语句;2)Java代码替换该条件语句中的变量为实际的变量值;然后将配置的条件中的所有 变量放到一个hashmap中去,然后轮询这些变量进行实际值替换得到一个赋入实值后的条 件语句;3)将替换后的语句拼装到Oracle的sql语句select count (*) from dual的where子 句中,连接Oracle数据库进行该sql语句的查询;然后在应用中获取数据库连接后执行该 sql, Java代码根据查询结果为0或1来判断条件是否满足,1表示满足,0表示不满足;4)应用根据此返回值来决定是否执行分支。全文摘要本专利技术提供一种,本专利技术用Oracle的dual表实现java代码中动态条件判断,达到了java代码中条件的动态配置且动态执行的目的,提高了判断逻辑模块的灵活性和可维护性。本专利技术的有益效果是,可以灵活地配置判断逻辑模块的判断条件,而不用关心该条件如何在代码中进行解析并动态判断,特别是在判断条件根据需求经常发生变动时,仅仅需要在配置中对条件进行修订,而不必修改相应代码,即可使新条件生效。文档编号G06F9/38GK102117200SQ20111003803公开日2011年7月6日 申请日期2011年2月15日 优先权日2011年2月15日专利技术者孙新 申请人:浪潮通信信息系统有限公司本文档来自技高网...

【技术保护点】
1.用Oracle的dual表实现java代码中动态条件判断的方法,其特征在于,配置的条件语句放在配置文件中,具体的变量x用${x}表示,条件为:(${a}>10and‘${b}’=’test_s’)or(${c}+${D}()3),在代码中动态判断这个条件是否成立;具体步骤如下:1)Java代码在执行分支判断时,从配置中读取配置的条件语句;2)Java代码替换该条件语句中的变量为实际的变量值;然后将配置的条件中的所有变量放到一个hashmap中去,然后轮询这些变量进行实际值替换得到一个赋入实值后的条件语句;3)将替换后的语句拼装到Oracle的sql语句select count(*)from dual的where子句中,连接Oracle数据库进行该sql语句的查询;然后在应用中获取数据库连接后执行该sql,Java代码根据查询结果为0或1来判断条件是否满足,1表示满足,0表示不满足;4)应用根据此返回值来决定是否执行分支。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙新
申请(专利权)人:浪潮通信信息系统有限公司
类型:发明
国别省市:88

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1