mybatis-plus的@TableField与@TableLogic

package com.zjh.myabatiesplus.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.Value;

@AllArgsConstructor
@NoArgsConstructor
@Data
@TableName("user")
public class User {
    //在mybatis中默认主键名为id 若不是id就会赋值报错 需要添加@TableId注解表示这个属性为id
    @TableId(value="",type=IdType.NONE)//value="" 是用来对应你数据库的主键名 type是用来注解自增类型设置auto是数据库设置的自增(数据可必须开启自增
    // )然后None 是mybatisplus使用的雪花算法的自增 雪花算法是Long型数据 生成的数据19位
    private Long id;
    private String name;
    private Integer age;
    private String email;
    @TableField("isDelete")//这个注解是跟数据库字段名对标的注解是用于非主键字段
    @TableLogic //这个主注解是用于数据库删除是物理删除还是逻辑删除 加了这个就是逻辑删除时改变其中的值 必须是整形
    //物理删除是真正把数据删掉逻辑删除是对字段修改为0/1 为删除状态
    private Integer isDel;
}

package com.zjh.myabatiesplus;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.zjh.myabatiesplus.mapper.UserMapper;
import com.zjh.myabatiesplus.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class MyabatiesPlusApplicationTests {

    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
//        List<User> userList = userMapper.selectList(null);
//        userList.forEach(System.out::println);
        //mp的增加方法是新new 一个pojo对象 将数据填入pojo中并把这个对象放入增加方法中
        //mp的删除方式有3种 1是根据id删除 2是建立一个map都是StringKV k是字符v是字段值 3是输入一个list 来进行删除
        //mp的修改方法与添加类似都是new一个pojo并以id为查询对象修改设置的值
        //mp的查询方式有3种 1是根据id查询 2是建立一个map都是StringKV k是字符v是字段值 3是输入一个list 来进行查询
        User user=new User();
//        user.setName("2");
//        user.setAge(2);
//        user.setEmail("2");
//        userMapper.insert(user);
        user.setId(1520618192207089665L);
        userMapper.deleteById(user);
// 执行删除的语句会变成这样自动加上有@TableLogic的字段### SQL: UPDATE user SET isDelete=1 WHERE id=?  AND isDelete=0
//显然我们的删除会变成修改当字段为0时就是未删除状态 1为删除状态 他新插入时请为字段设置默认值为0,最好是在建表时将字段设置为0
        //不然操作会报错

    }

}
另外他的查询语句也会自动加上isDelete字段

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus是一个基于MyBatis的增强工具,提供了很多便捷的功能来简化开发。使用MyBatis-Plus可以减少大量的重复SQL代码,提高开发效率。 MyBatis-Plus的使用可以从以下几个方面来介绍: 1. 核心功能:MyBatis-Plus提供了一系列的注解和接口来简化CRUD操作。例如,通过注解@TableField可以实现实体类属性名和表字段名的映射;通过注解@TableLogic可以实现逻辑删除功能;通过条件构造器(wrapper)可以快速构建查询条件;通过常用接口可以简化单表操作等。 2. 快速开始示例:MyBatis-Plus提供了多个快速开始示例,包括mybatis-plus-sample-quickstart和mybatis-plus-sample-quickstart-springmvc等。这些示例可以帮助你快速上手并了解MyBatis-Plus的基本用法。 3. 属性名和字段名不一致的情况:如果实体类中的属性名和表中的字段名不一致,可以通过注解@TableField来显式指定属性对应的字段名,或者使用驼峰命名规则自动转换。 4. 逻辑删除:MyBatis-Plus提供了逻辑删除的功能,可以通过注解@TableLogic和在数据库设置逻辑删除状态列来实现逻辑删除操作。逻辑删除不会真正删除数据,而是将对应字段的状态修改为“被删除状态”,可以实现数据恢复的功能。 5. 条件构造器和常用接口:MyBatis-Plus提供了条件构造器(wrapper)和一些常用接口,例如QueryWrapper、UpdateWrapper、LambdaQueryWrapper等,可以方便地构建复杂的查询条件和更新操作。 以上是关于MyBatis-Plus的简要介绍和使用方法,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值