【问题标题】:How to use mysql function in querydsl with sql statement?如何在带有sql语句的querydsl中使用mysql函数?
【发布时间】:2020-11-11 01:40:10
【问题描述】:

数据库中的电话号码是加密的,所以我必须使用解密功能。所以我写了这样的代码,但它没有工作。我怎样才能做到?

这是我的代码

    BooleanBuilder builder = new BooleanBuilder();
            if(StringUtils.hasText(memberVO.getSearchTypeCd()) && StringUtils.hasText(memberVO.getSearchText())) {
                if(memberVO.getSearchTypeCd().equals("memNm")) {
                    builder.and(info.memNm.contains(memberVO.getSearchText()));
                }
                if(memberVO.getSearchTypeCd().equals("nickNm")) {
                    builder.and(info.nickNm.contains(memberVO.getSearchText()));            
                }
                if(memberVO.getSearchTypeCd().equals("hpNo")) {             
                    //FN_DECRYPT is not working
                    builder.and(info.nickNm.prepend("FN_DECRYPT(").append(")").contains(memberVO.getSearchText()));
                }
            }

我想在 sql 中这样输入。


WHERE FN_DECRYPT(hpNo) LIKE '%010-0000-0000%'

谢谢。

【问题讨论】:

    标签: mysql sql querydsl


    【解决方案1】:

    终于解决了

    
        BooleanBuilder builder = new BooleanBuilder();
        if(StringUtils.hasText(memberVO.getSearchTypeCd()) && StringUtils.hasText(memberVO.getSearchText())) {
            if(memberVO.getSearchTypeCd().equals("memNm")) {
                builder.and(info.memNm.contains(memberVO.getSearchText()));
            }
            if(memberVO.getSearchTypeCd().equals("nickNm")) {
                builder.and(info.nickNm.contains(memberVO.getSearchText()));            
            }
            if(memberVO.getSearchTypeCd().equals("hpNo")) {                             
                builder.and(Expressions.booleanTemplate("FN_DECRYPT({0}) LIKE '%" + memberVO.getSearchText().replaceAll("-", "") + "%'", info.hpNo));
            }
        }
    
    

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 2021-07-31
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多