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每一个方法的介绍:
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.驼峰(实体类中的命名格式)和下划线分段(数据库中的命名格式)是自动配置的,默认就开启
下篇正在肝~
标签:实体类,uid,BaseMapper,主键,Plus,设置,Mybatis,id From: https://blog.csdn.net/petrece/article/details/136678220