浅谈J-Hi查询过滤器的实现原理

  J-Hi设计自己的查询过滤器而没有直接采用Hibernate的Criteria,是出于以下两个原因:

  1、Hibernate的Criteria的功能是很强大,但在使用上还是比较繁琐。因此J-Hi想从用户使用的简单易用性上考虑设计一款查询过滤器。

  2、J-Hi是一款跨ORM的多框架平台,不能拘泥一种只在Hibernate适用的产品。因此从设计角度考虑,J-Hi对于查询过滤功能必须要有一个中间层,从而使适应多ORM框架成为可能。

  下面让我们来分析一下对于SQL的查询具体应该考虑些什么

  1、字段名 数据库表的字段名

  2、操作符 比如大于、小于。还会包括一些特殊的操作符如like和in

  3、NO NO操作符是对操作符的补充,只有in和lik也会有no

  4、值 对应字段类型的具体值,如字符串就要加引号,日期就要做转换

  5、空值 空值是特殊值,表述形式如IS NULL或IS NOT NULL

  6、关系符 两个查询条件之间的关系包括三种 AND OR NOT

  7、优前级 通过左右括号来控制查询条件的优前级

  8、通配符 如果是like操作符,在值的左侧或是右侧或两侧都可以通过%来控制值的匹配条件

  对于Java来说,无非就是考虑如何将上述的描述通过对象化的方式实现

  先让我们用例说明:

   1. Filter filter = FilterFactory.getSimpleFilter("name", "马超");          
        

it知识库浅谈J-Hi查询过滤器的实现原理,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。