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

文档序号:6354493阅读:987来源:国知局
专利名称:用Oracle的dual表实现java代码中动态条件判断的方法
技术领域
本发明涉及一种计算机技术,适用于那些有较多执行分支的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.用Oracle的dual表实现java代码中动态条件判断的方法,其特征在于,配置的条件语句放在配置文件中,具体的变量χ用${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代码中动态条件判断的方法,本发明用Oracle的dual表实现java代码中动态条件判断,达到了java代码中条件的动态配置且动态执行的目的,提高了判断逻辑模块的灵活性和可维护性。本发明的有益效果是,可以灵活地配置判断逻辑模块的判断条件,而不用关心该条件如何在代码中进行解析并动态判断,特别是在判断条件根据需求经常发生变动时,仅仅需要在配置中对条件进行修订,而不必修改相应代码,即可使新条件生效。
文档编号G06F9/38GK102117200SQ20111003803
公开日2011年7月6日 申请日期2011年2月15日 优先权日2011年2月15日
发明者孙新 申请人:浪潮通信信息系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1