Mybatis Plus(上篇)

1.Mybatis Plus工作流程:扫描实体类,通过反射进行抽取,然后分析表与实体类的关系,以及属性与当前字段的关系,然后再根据当前调用的方法生成对应的SQl,然后注入到容器中

结论:根据你的实体类,里面有啥 它就分析啥用啥

2.用mabatis plus必须在启动类里,写@MapperScan("xxxxxxxx.mapper")注释

3.application文件加上以下代码可以实现 控制台输出mybatisplus自动生成的SQL语句

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

4.mapper是继承了Mybatis Plus的BaseMapper<实体类> 增删改返回的int都是行数

BaseMapper每一个方法的介绍:

12-BaseMapper_哔哩哔哩_bilibili

5.仅列出4个方法的使用,更多详见BaseMapper,需要条件构造器Wapper的下篇会说

1)根据map条件删除:

2)根据id列表批量删除

aslist可以直接把数据转成List

3.)根据map条件查询

4)SelectList查询

6.service继承了IService<实体类> ,xxxxServiceImpl继承 ServiceImpl<Mapper类, 实体类>

7.BaseMapper<实体类> 默认根据这个实体类决定了用哪张表

在实体类的上面写上注解@TableName("实际表名") 这样就可以设置实体类对应的表名

8.设置表的公共前缀(全局配置):在application加上以下代码可以实现

9.默认是雪花算法生成的id为主键,如果实体类没id而是uid则添加失败,

可以在实体类中的对应字段上,添加@TableId注解即可解决,改完自动把id给了uid

指定主键字段:

如果实际表里的是uid,实体类是id,则需要value值,如果这个注解只需这一个属性,则可以直接写@Table("uid");

这样就可以让实体类的id与实际表中的uid对应

10.指定id生成策略:

1)默认是通过雪花算法生成id

2)设置自增(前提是数据库里实际表中id为自增)

根据表里的最大的id,然后加1

3)统一设置主键生成策略(在application设置):

11.如果直接代码里设置了id(用了setId指定了id值),则优先你设置的

12.垂直拆分:把不常用的字段拆分出去

水平拆分:设置表里存储的最大行,取余的拆出去

1)主键自增 复杂点分段大小的选取

2)取模 复杂点:表数量的确立

3)雪花算法

13.雪花算法

雪花算法是由Twitter公布的分布式主键生成算法,它能够保证不同表的主键的不重复性,以及相同表的主键的有序性。一共64bit(一个long)

14.

15.逻辑删除 用于数据恢复@TableLogic 本质上是修改而不是删除

设置以后查询功能自动得只查询未删除的数据

1:已删除 0:未删除

16.驼峰(实体类中的命名格式)和下划线分段(数据库中的命名格式)是自动配置的,默认就开启


下篇正在肝~

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值