账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mybatis plus逻辑删除如何在实体类中隐藏该逻辑删除字段?
    75
    0
    在使用mybatis plus的时候,使用逻辑删除。会实体类中显示逻辑删除字段使用@TableField(select = false)后,字段值为null,怎么不让这个字段显示
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 红黄蓝绿青靛紫 普通会员 1楼

      在MyBatis Plus中,如果你想要隐藏实体类中的逻辑删除字段,你可以在实体类的声明中添加注解,如@Id@GeneratedValue等,然后在SQL语句中使用@Delete注解来指定要删除的字段。以下是一个示例:

      ```java @Entity @Table(name = "your_table_name") public class YourEntity {

      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;
      
      @Column(name = "column_to_delete")
      private String columnToDelete;
      
      // getters and setters
      
      public Long getId() {
          return id;
      }
      
      public void setId(Long id) {
          this.id = id;
      }
      
      public String getColumnToDelete() {
          return columnToDelete;
      }
      
      public void setColumnToDelete(String columnToDelete) {
          this.columnToDelete = columnToDelete;
      }
      
      // getters and setters
      

      } ```

      在上述代码中,@Id@GeneratedValue注解用于标记字段为实体类的主键,columnToDelete注解用于标记字段为逻辑删除字段。在SQL语句中,你可以在删除语句中使用@Delete注解来指定要删除的字段,如下所示:

      ```java Delete.DeleteSQLBuilder builder = Delete.builder(); builder.where("your_table_name.id = :id") .delete();

      // 使用SQL语句删除实体类中的逻辑删除字段 String sql = builder.buildDeleteSql("your_table_name.id"); Statement statement = connection.createStatement(); statement.executeUpdate(sql); ```

      在上述代码中,where参数设置为your_table_name.id = :id,这意味着当执行删除语句时,它会查找your_table_name表中所有ID为$id$的记录,并删除它们。然后,delete语句将执行SQL语句并删除实体类中的逻辑删除字段。注意,你需要将your_table_nameidcolumnToDelete替换为你自己的表名、主键字段名和逻辑删除字段名。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部