Mybatisplus----DML编程---多记录操作

批量处理数据:

    @Test
    void testDelete(){
        //批量按id删除
        List<Long> list = new ArrayList<>();
        list.add(1626917366924050434L);
        list.add(1626917108852797441L);
        list.add(1626916464192487425L);
        list.add(1626914551753371650L);
        userDao.deleteBatchIds(list);

        //按id批量查询
        List<Long> lists = new ArrayList<>();
        lists.add(1l);
        lists.add(2l);
        lists.add(3l);
        userDao.selectBatchIds(lists);
    }

逻辑删除:

(1)删除操作业务问题:业务数据从数据库中丢弃

(2)逻辑删除:为数据设置是否可用状态字段,删除时设置状态字段为不可用状态,数据保留在数据库中。

首先在数据库表中添加deleted字段(默认值为0:可用状态)

 

 

package com.itheima.domain;


import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

@Data
//@TableName("tbl_user")
public class User {

//    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    private String name;
    @TableField(value = "pwd", select = false)
    private String password;
    private Integer age;
    private String tel;
    @TableField(exist = false)
    private Integer online;

    //逻辑删除字段,标记当前记录是否被删除
    @TableLogic(value = "0", delval = "1")
    private Integer deleted;
}

或者在属性文件中进行全局中配置,不需要 @TableLogic(value = "0", delval = "1")

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC
    username: root
    password: 130740
    type: com.alibaba.druid.pool.DruidDataSource
  main:
    banner-mode: off

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    banner: false
    db-config:
      id-type: assign_id
      table-prefix: tbl_
      logic-delete-field: deleted
      logic-not-delete-value: 0
      logic-delete-value: 1

 

posted @ 2023-02-18 21:04  佛系粥米  阅读(33)  评论(0)    收藏  举报