在使用MyBatis-Plus的LambdaQueryWrapper时,如果需要添加默认的查询条件,可以通过继承LambdaQueryWrapper类,并重写其方法来实现。
以下是一个示例代码,演示如何在继承LambdaQueryWrapper的基础上添加默认的查询条件:
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; public class DefaultLambdaQueryWrapper<T> extends LambdaQueryWrapper<T> { public DefaultLambdaQueryWrapper() { // 在构造时添加默认条件 this.eq(true, T::getDeleted, 0); // 假设实体类有一个deleted字段,0表示未删除 } // 可以添加其他方法来支持默认条件的动态添加 }
使用时,你可以这样创建一个包含默认条件的查询对象:
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; public class SomeService { public List<SomeEntity> getSomeEntities() { DefaultLambdaQueryWrapper<SomeEntity> queryWrapper = new DefaultLambdaQueryWrapper<>(); // 此时的queryWrapper已经包含了默认的条件 // 后续可以继续添加自定义条件 return someMapper.selectList(queryWrapper); } }
在这个示例中,我们创建了一个DefaultLambdaQueryWrapper
类,它在构造时添加了一个默认的条件,即实体的deleted
字段等于0。这样,每次创建DefaultLambdaQueryWrapper
对象时,都会自动应用这个条件。这种方式可以用于添加任何你希望在每次查询时应用的默认条件。
参考:百度AI