Mybatis | The parameters passed in the front end use or connected string back end for keyword query (not case sensitive)

Requirement: query response content containing keywords, not case sensitive

Front-end passing parameters (JSON object)

{
    
    
	"keywords":"你 or 我"
}

command

@Data
public class Command {
    
    
	private String keywords;
}

controller

if (StringUtils.isNotEmpty(command.getKeywords())){
    
    
            List<String> keywords = Arrays.stream(command.getKeywords().split("or")).map(String::trim).collect(Collectors.toList());
            String join = String.join("|", keywords);
            command.setKeywords(join);
        }

SQL

select * from  consult where upper(msg_content) REGEXP upper(#{
    
    keywords})

Guess you like

Origin blog.csdn.net/y1534414425/article/details/108054366