通过在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);
}