Mybatis Plus实现数据库中逗号分隔查询
·
default PageResult<PieceConfigurationOrderDO> selectPage(PieceConfigurationOrderPageReqVO reqVO) {
LambdaQueryWrapperX<PieceConfigurationOrderDO> queryWrapper = new LambdaQueryWrapperX<PieceConfigurationOrderDO>()
.likeIfPresent(PieceConfigurationOrderDO::getOrderCode, reqVO.getOrderCode())
.eqIfPresent(PieceConfigurationOrderDO::getPieceItem, reqVO.getPieceItem())
.eqIfPresent(PieceConfigurationOrderDO::getUnitPrice, reqVO.getUnitPrice())
.eqIfPresent(PieceConfigurationOrderDO::getUnitId, reqVO.getUnitId())
.likeIfPresent(PieceConfigurationOrderDO::getUnitName, reqVO.getUnitName())
.eqIfPresent(PieceConfigurationOrderDO::getStatus, reqVO.getStatus())
.betweenIfPresent(PieceConfigurationOrderDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(PieceConfigurationOrderDO::getCreator, reqVO.getCreator())
.orderByDesc(PieceConfigurationOrderDO::getId);
queryWrapper.apply(reqVO.getCompanyId() != null, "FIND_IN_SET('" + reqVO.getCompanyId() + "',company_id)");
queryWrapper.apply(reqVO.getDeptId() != null, "FIND_IN_SET('" + reqVO.getDeptId() + "',dept_id)");
return selectPage(reqVO, queryWrapper);
LambdaQueryWrapper<PieceConfigurationOrderDO> queryWrapper = new LambdaQueryWrapper<PieceConfigurationOrderDO>()
.eq(PieceConfigurationOrderDO::getPieceItem, createReqVO.getPieceItem())
.and(wrapper -> {
if (createReqVO.getCompanyId() != null) {
wrapper.apply("FIND_IN_SET({0}, company_id)", createReqVO.getCompanyId());
}
if (createReqVO.getDeptId() != null) {
wrapper.apply("FIND_IN_SET({0}, dept_id)", createReqVO.getDeptId());
}
});
PieceConfigurationOrderDO matchedOrder = pieceConfigurationOrderMapper.selectOne(queryWrapper, false);
通过find_in_set函数实现数据库逗号分隔查询
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)