前言
上篇文章是通过动态注入的方式去筛选查询条件,这次我们用mybatis-plus自带的${ew.sqlselect}来筛选。
也就是Constants源码里的这个属性
一、使用步骤
1.在xml文件里引入
<!--表数据list--><select id="tableList" resultType="java.util.LinkedHashMap">
SELECT
${ew.sqlSelect}// 这里拼接select后面的语句
FROM
${table_name}//如果是单表的话,这里可以写死
${ew.customSqlSegment}</select>
2.mapper文件
//表数据listIPage<LinkedHashMap<String,Object>>tableList(@Param("table_name")String table_name,Page page,@Param(Constants.WRAPPER)QueryWrapper queryWrapper);
3.用法
String responseField="*";//先把拿到的值设为*,如果responsefield.equals或者为null,就使用默认值,这样就可以查询所有条件if(nativeWebRequest.getParameter("response_field")!=null&&!nativeWebRequest.getParameter("response_field").equals("")){
responseField= nativeWebRequest.getParameter("response_field");}if(responseField.length()!=0&&!"".equals(responseField)){
queryWrapper.select(responseField);}
不加入responsefield字段,或者responsefield字段为空时,查询所有的值
加入responsefield字段后,查询对应的值