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})