多租户是一种软件架构技术,在多用户的环境下,共有同一套系统,并且要注意数据之间的隔离性。
在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,便于程序员排忧解难呐
悲观锁实现方式是数据库采用加锁的机制,而乐观锁最常见的手动就是通过版本号,每次更新的时候需要判断版本号是否一致,如果一致才能正常更新,反之更新失败。
自动填充是做什么的,大家有没有在数据入库的时候,不管新增或者修改数据,都要手动来设置添加时间和修改时间。而且每个插入都需要设置,而且数据库还设置不能为空,就很烦恼。
删除功能是项目中经常见到的需求,比如需要删除某一件商品,删除一个订单,但往往不会把实际数据删除,而是选择逻辑 (假)删除来实现。
Mybatis-Plus
的条件构造器LambdaQueryWrapper
实现原理:
Wrappers.<User>lambdaQuery().eq(User::getUserName, "张三")
MP除了通用的Mapper还有通用的Service层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MP的这种思想,可以自己也实现一些通用的Controller。
ActiveRecord模式,简单一点来说就是通过实体来进行对单表增删改查操作。
物理分页:相当于执行了limit分页语句,返回部分数据。物理分页只返回部分数据占用内存小,能够获取数据库最新的状态,实施性比较强,一般适用于数据量比较大,数据更新比较频繁的场景。
MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的Sql,那么那么今天说说MP怎么自定义Sql语句吧。