MyBatis-Plus And和Or的使用

原文:
https://baomidou.com/guide/wrapper.html#and
https://baomidou.com/guide/wrapper.html#or

	private void checkRepeat(Post entity) {
		LambdaQueryChainWrapper<Post> query = new LambdaQueryChainWrapper<>(baseMapper)
			.nested(c -> c.eq(Post::getPostName, entity.getPostName())
				.or()
				.eq(Post::getPostCode, entity.getPostCode()));

		query = (Objects.isNull(entity.getId()) || (entity.getId() <= 0))
			? query
			: query.notIn(Post::getId, entity.getId());

		if (query.count() > 0) {
			throw new ServiceException("名称重复!");
		}
		// 组合后的条件: ((post_name = ? OR post_code = ?) AND id NOT IN (?)) AND tenant_id = '000000'
	}

组合后的条件:

SELECT COUNT(1) FROM blade_post WHERE is_deleted = 0 AND ((post_name = ? OR post_code = ?) AND id NOT IN (?)) AND tenant_id = '000000'
原文地址:https://www.cnblogs.com/guxingy/p/14133483.html