当前位置: 首页 > news >正文

手机上的网站是怎么做的吗云虚拟主机怎么做2个网站

手机上的网站是怎么做的吗,云虚拟主机怎么做2个网站,给女朋友做网站的素材,网站建设方案书原件注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。注意,只有MybatisPlus生成…

注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。

注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。

注意,只有MybatisPlus生成的SQL语句才支持自动的逻辑删除,自定义SQL需要自己手动处理逻辑删除。

所谓逻辑删除,基于代码逻辑模拟删除效果,但并不会真正删除数据。对于一些比较重要的数据,我们往往会采用逻辑删除的方案,即:

  • 在表中添加一个字段标记数据是否被删除

  • 当删除数据时把标记置为true

  • 查询时过滤掉标记为true的数据

一旦采用了逻辑删除,所有的查询和删除逻辑都要跟着变化,非常麻烦。

为了解决这个问题,MybatisPlus就添加了对逻辑删除的支持。

例如,我们给address表添加一个逻辑删除字段:

alter table address add deleted bit default b'0' null comment '逻辑删除';

因为实体类和数据库字段一一对应,我们需要给Address实体添加deleted字段:

@ApiModelProperty(value = "逻辑删除")private Boolean deleted;

deleted字段默认为0,表示数据未删除;为1时,表示数据已删除

接下来,我们要在application.yml中配置逻辑删除字段,告诉MP用来标记逻辑删除的字段是哪一个,字段被删除的默认值是哪一个;未被逻辑删除的字段是哪一个这些信息。

mybatis-plus:global-config:db-config:logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)logic-delete-value: 1 # 逻辑已删除值(默认为 1)logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

我们直接新建一个测试类,用来测试逻辑删除的效果,如下所示:

@SpringBootTest
class IAddressServiceTest {@Autowiredprivate IAddressService addressService;@Testvoid testDeleteByLogic() {// 删除方法与以前没有区别addressService.removeById(59L);//Address address = addressService.getById(59L);//System.out.println(address);}
}

 我们先注释下面两行代码,只留上面一行代码,运行查询SQL预编译效果:

我们可以看到,在代码运行前,id为59L的数据,deleted字段为false,执行代码后查看:

我们可以看到,打印的SQL并不是走delete语句,而是走update语句,语句将编号为59L的那行数据的deleted字段由之前的false改为了true,表示这条数据已经被逻辑删除了,如下所示:

查看数据库可知,编号为59L的数据deleted字段已经被标识为true值。

我们将测试类中被注释的代码打开,将之前的removeById()方法注释,如下所示:

@SpringBootTest
class IAddressServiceTest {@Autowiredprivate IAddressService addressService;@Testvoid testDeleteByLogic() {// 删除方法与以前没有区别//addressService.removeById(59L);Address address = addressService.getById(59L);System.out.println(address);}
}

运行代码,查看日志:

从SQL语句中可知,在执行addressService.getById(59L)的时候,即查询id为59L的数据的时候,在SQL语句的最后加上了AND deleted=0,表示查找编号为59L的数据,并且这条数据不能被逻辑删除;因为我们直接执行了删除方法,将deleted字段由false改为了true,所以在执行SQL语句的时候查出来的数据为null。这条数据在数据库中存在,但是在用户眼中却无法查看,就好像数据真的被删除了一样,这种情况我们称之为逻辑删除。

综上, 开启了逻辑删除功能以后,我们就可以像普通删除一样做CRUD,基本不用考虑代码逻辑问题。还是非常方便的。

注意: 逻辑删除本身也有自己的问题,比如:

  • 会导致数据库表垃圾数据越来越多,从而影响查询效率

  • SQL中全都需要对逻辑删除字段做判断,影响查询效率

因此,我不太推荐采用逻辑删除功能,如果数据不能删除,可以采用把数据迁移到其它表的办法。

http://www.dtcms.com/a/489328.html

相关文章:

  • php无版权企业网站管理系统北京软件app开发
  • 可以赚钱做任务的网站有哪些农家乐网站源码
  • 太原网站建设信息推荐网站建设去超速云建站
  • 网站多语言建设seo主要优化
  • 网站开发的发展的前景网页制作步骤教程
  • 佛山手机网站设计制作推广找客户平台
  • 网站一键生成手机网站PHP 网站开发 入门
  • 网站建设与管理实践心得个人建设网站程序
  • 大学院系网站建设网站ip地址查询
  • 做公司网站需要哪些资料过年做哪个网站致富
  • 民治做网站的公司wordpress最近评论
  • 怎样创建基本的网站培训班
  • 网站软件免费下载制作表格
  • 手机上有趣的网站最新新闻热点事件2024
  • go语言做的网站dede模板打网站显示栏logo
  • 网站后台需要ie6修改阿里云网站备案核验单
  • 网站更改文章标题网站顶部导航
  • 网站模板目录扫描怎样自己制作手机app软件
  • 石家庄网站建设找哪家wordpress改了固定链接出现404
  • 用asp制作一个简单的网站怎么使用网站程序
  • wordpress 404页面模板seo公司培训
  • 网站导航栏目设计内容依据做瞹视频网站
  • 深圳建网站企业西安做公司网站公司
  • 制作论坛类网站模板免费下载威海建设集团的网站是什么
  • 网站跳转qq网页设计与制作工资多少
  • 3 如何进行网站优化设计用vs session做网站
  • 广州网站定制开发方案html5网站制作分工
  • 企业网站服务费怎么做记账凭证1.简述网站建设流程
  • 肇庆做网站gdmkd女生做网站编辑
  • 线上企业订单管理系统网站学校校园网站建设