封装个bean,有属性,关系符,属性值,逻辑符。然后前端传List<bean>给后台,循环拼接hibernate查询语句

解决方案 »

  1.   

    如果只是比较简单的话,可以考虑前台提交之后,放到map中,key为字段名,value为具体值
    然后遍历map,拼接查询即可。
    如果牵涉到复杂,比如存在like 或者between或者or 之类的查询条件
    可将其封装成对象,对象中包括操作符以及具体对应值即可。
      

  2.   

    把条件和值带到后台,大概写法应该是DetachedCriteria detachedCriteria=DetachedCriteria.forClass(类名.class);
    判断条件值是否为空,如果不为空
    detachedCriteria.add(Restrictions.and("属性", "值"));///可以有and or eq like between等方法,可以到网上看一下具体方法的用法
    最后使用detachedCriteria去查询就可以了。。,
      

  3.   

    如果是我,我会考虑在JS里面,把检索条件循环table拼成sql语句字符串当成where条件。
    注意引号,注意中文转码。
      

  4.   

    好吧,我还是觉得拼接字符串传给后台,后台可以再拆开,这样比较简单方便。
    例如拼成这样:"str1 = v1 and , str2 >v2 or, str3<v3 and "
      

  5.   

    接收的时候可以按 , 拆分成数组,再判断 关系,也可以弄个数组  {“=”,“>”,"<"}  一类的。