我是靠谱客的博主 稳重枕头,这篇文章主要介绍mybatis plus合并两个wrapper,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.guotie.mdc.base.po.datumdefect.DatumDefectPO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import java.util.List; /** * @author liaoz */ @Mapper public interface DatumDefectDao extends BaseMapper<DatumDefectPO> { /** * 查询未生成基准报警的基准缺陷 * * @param frameTable 关联表 可能是 data_alarm_frame_w data_alarm_frame_g data_alarm_frame_s */ @Select("SELECT d.* FROM e01d d LEFT JOIN ( " + "SELECT f.datum_defect_id FROM ${frameTable} f LEFT JOIN ${alarmTable} a ON f.alarm_id = a.id ${ew.customSqlSegment} " + ") as fa ON fa.datum_defect_id = d.f01 ${sql}") List<DatumDefectPO> selectUnMark(@Param("frameTable") String frameTable, @Param("alarmTable") String alarmTable, @Param(Constants.WRAPPER) QueryWrapper<?> dataWrapper, @Param("sql") String sql); }
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
QueryWrapper<DatumDefectPO> wrapper = new QueryWrapper<>(); rangeFrameWrapper(wrapper, query); rangeAlarmWrapper(wrapper, query); QueryWrapper<DatumDefectPO> dWrapper = new QueryWrapper<>(); rangeUnMarkWrapper(dWrapper, query); dWrapper.isNull(FA_HEAD + "datum_defect_id"); //warn: 此处骚操作 作用为将两个wrapper合并 String dSql = StrUtil.replace(dWrapper.getCustomSqlSegment(), "ew.paramNameValuePairs.", "ew.paramNameValuePairs._"); Map<String, Object> map = wrapper.getParamNameValuePairs(); dWrapper.getParamNameValuePairs().forEach((key, value) -> map.put("_" + key, value)); String domainStr = "w"; List<DatumDefectPO> pos = datumDefectDao.selectUnMark("data_alarm_frame_" + domainStr, "data_alarm_" + domainStr, wrapper, dSql);

最后

以上就是稳重枕头最近收集整理的关于mybatis plus合并两个wrapper的全部内容,更多相关mybatis内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部