多数据组合筛选数据

在工作中,可能会碰到多个数据随机组合搜索的情况,解决方案如下:

新建类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("")&&param1!=null){

        WHERE("条件");

      }

      if(!param2.equals("")&&param2!=null){

        WHERE("条件");

      }

      if(!param3.equals("")&&param3!=null){

        WHERE("条件");

      }

      if(!param4.equals("")&&param4!=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);

}

 

以此实现对表的多数据组合筛选

      

 

posted @ 2017-10-31 11:19  Ericzya  阅读(315)  评论(0编辑  收藏  举报