gpt4 book ai didi

sql - 在Grails中动态生成SQL查询

转载 作者:行者123 更新时间:2023-12-02 15:09:35 25 4
gpt4 key购买 nike

我们在grails应用程序上有一个搜索页面。该页面需要能够基于许多属性动态构建查询。

例如:

  • “使用bob.smith@%之类的电子邮件查找用户”
  • “通过电子邮件查找等于“john.smith@gmail.com”的用户”
  • “查找属于组x的用户”
  • “找到ID为42的用户”
  • “找到名称如“Jason P%”的用户

  • 如果这是一个Java应用程序,我将使用休眠标准API。标准API的一个问题是它使得不可能进行任意联接。

    那么有没有办法动态地构建这样的查询?如果可以动态修改GORM中的条件API可行,或者我可以使用完全不同的方法。

    最佳答案

    几个月前,@ dmahapatro似乎回答了您的similar question问题。您当前的情况如下所示:

    def user = User.createCriteria().list{
    if(params.email != null){
    or{
    eq('email', params.email)
    iLike('email', "%${params.email}%")
    }
    } else if(params.id != null){
    idEq(params.id)
    } else if(params.name != null){
    eq('name', params.name)
    } else if(params.memberOf != null){ //This can be optimized
    groups{
    eq('name', params.memberOf)
    }
    }
    }

    这是您要找的东西吗?

    关于sql - 在Grails中动态生成SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770583/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com