在工作中,可能会碰到多个数据随机组合搜索的情况,解决方案如下:
新建类XXXSqlProvider:
public class XXXSqlProvider{
public String getSearchInfoResultList(Map<String,Object> map){
String param1=(String)map.get("param1");
String param2=(String)map.get("param2");
String param3=(String)map.get("param3");
String param4=(String)map.get("param4");
return new SQL(){{
SELECT("某列或者某几列数据");
FROM("表");
WHERE("条件");
if(!param1.equals("")&¶m1!=null){
WHERE("条件");
}
if(!param2.equals("")&¶m2!=null){
WHERE("条件");
}
if(!param3.equals("")&¶m3!=null){
WHERE("条件");
}
if(!param4.equals("")&¶m4!=null){
WHERE("条件");
}
}}.toString();
}
}
DAO写法:
@Repository
public interface XXX_DAO{
@SelectProvider(type=XXXSqlProvider.class,method="getSearchInfoResultList")
@ResultType(实体类.class)
List<实体类> getSearchInfoResultList(String param1,String param2,String param3,String param4);
}
以此实现对表的多数据组合筛选