1 if (!"".equals(userDto.getHobby())) {
2 /*
3 1、将hobby分割为数组,调用FIND_IN_SET函数查询
4 2、trim()去掉文本两端多余的空格
5 3、FIND_IN_SET(str,strlist)
6 4、str 要查询的字符串,strlist 字段名 参数以”,”分隔 如 (1,2,6,8)
7 5、select * from user where 1=1 and FIND_IN_SET('运动',hobby) or FIND_IN_SET('音乐',hobby)
8 6、or或者其它条件
9 */
10 String[] hobby = userDto.getHobby().split(",");
11 for (int i=0;i<hobby.length;i++){
12 if (i==0){
13 sql.append(" and FIND_IN_SET('").append(hobby[i].trim()).append("',hobby)");
14 }else {
15 sql.append(" or FIND_IN_SET('").append(hobby[i].trim()).append("',hobby)");
16 }
17 }
18 }