| @Test |
| public void findAllTest() { |
| List userList = userMapper.selectList(null); |
| userList.forEach(System.out::println); |
| } |
| |
| @TableLogic |
| |
| private Boolean isDeleted; |
在没有加注解的情况下,is_deleted 在查询中存在
| Preparing: SELECT id,name,email,age,status,is_deleted,version FROM user WHERE is_deleted=0 |
| |
| @TableLogic |
| @TableField(select = false) |
| private Boolean isDeleted; |
在加注解的情况下,is_deleted 在查询中不存在
| Preparing: SELECT id,name,email,age,status,version FROM user WHERE is_deleted=0 |
| @Test |
| public void mySelectTest() { |
| |
| List userList = userMapper.mySelectList(Wrappers.lambdaQuery() |
| .gt(User::getAge,1)); |
| userList.forEach(System.out::println); |
| } |
| @Select("select * from user ${ew.customSqlSegment}") |
| List mySelectList(@Param(Constants.WRAPPER) Wrapper wrapper); |
此时查看控制台打印结果:
@TableField (select = false) 该注解对于自定义方法查询失效了,怎么做呢?加限定条件
| // 查询年龄大于xxx岁的 |
| List userList = userMapper.mySelectList(Wrappers.lambdaQuery() |
| .gt(User::getAge,1).eq(User::getIsDeleted,0)); |
| @TableField(exist = false) |
注解加载 bean 属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用 bean 的时候,mybatis-plus 就会忽略这个,不会报错