Mybatis Plus邏輯刪除

1、局部設置mybatis

@TableLogic()
private Integer deleted;

2、全局設置app

#邏輯刪除狀態設置
mybatis-plus.global-config.db-config.logic-not-delete-value = 0
mybatis-plus.global-config.db-config.logic-delete-value= = 1

3、測試測試

RunWith(SpringRunner.class)
@SpringBootTest
public class LogicTest {

    @Autowired
    private UserInfoMapper userInfoMapper;

    /**
     * 根據id刪除
     */
    @Test
    public void deleteById() {
        int rows = userInfoMapper.deleteById(123455);
        System.out.println("影響記錄數:"+rows);
    }

    /**
     * 獲取沒有刪除的數據
     */
    @Test
    public void select() {
        List<UserInfo> list = userInfoMapper.selectList(null);
        list.forEach(System.out::println);
    }

    /**
     * 修改沒有刪除的數據
     */
    @Test
    public void updateById() {
       UserInfo userInfo = new UserInfo();
       userInfo.setAge(26);
       userInfo.setId(12323434);
       int rows = userInfoMapper.updateById(userInfo);
    }
}

4、查詢不取字段code

@TableField(select = false)
private Integer deleted;

5、自定義查詢get

@Select("select * from user ${ew.customSqlSegment}")
List<UserInfo> mySelect(@Param(Constants.WRAPPER) Wrapper<UserInfo> wrapper);
/**
 *自定義查詢全部數據
 */
@Test
public void mySelect() {
    List<UserInfo> list = userInfoMapper.mySelect(Wrappers.<UserInfo> lambdaQuery().gt(UserInfo::getAge,25));
    list.forEach(System.out::println);
}

/**
 * 自定義查詢沒有刪除的數據
 */
@Test
public void mySelect1() {
    List<UserInfo> list = userInfoMapper.mySelect(Wrappers.<UserInfo> lambdaQuery().gt(UserInfo::getAge,25).eq(UserInfo::getDeleted,0));
    list.forEach(System.out::println);
}
1
相關文章
相關標籤/搜索