通过在TableField加入select=false排除
对于自定义的需要在sql中加入where deletd=0或者在条件中排除
这是为什么
设置逻辑删除后,select后,需要 把deleted字段排除,需要@TableField
@TableField(select=false) 排除删除标识字段
防止delected参数出现,在wrapper语句中增加条件
mySelect测试
自定义sql
查询时不显示deleted字段。给属性上增加@TableField
如何排除自定义sql查询字段中的deleted?
UserMapper.java
public interface UserMapper extends BaseMapper<User> { @Select("select ${ew.getSqlSelect} from `user` ${ew.customSqlSegment}") List<User> mySelectList(@Param(Constants.WRAPPER) Wrapper<User> wrapper); }
UserMapperTest.java
@Test public void mySelectList(){ List<User> list = userMapper.mySelectList( Wrappers.<User>lambdaQuery() // .select(User.class,x->!x.getColumn().equals("deleted")) .select(User.class,x->!x.isLogicDelete()) .gt(User::getAge, 25) .eq(User::getDeleted,0) ); list.forEach(System.out::println); }