首页 > 其他分享 >Mybatis Plus(上篇)

Mybatis Plus(上篇)

时间:2024-03-13 15:31:30浏览次数:23  
标签:实体类 uid BaseMapper 主键 Plus 设置 Mybatis id

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.驼峰(实体类中的命名格式)和下划线分段(数据库中的命名格式)是自动配置的,默认就开启


下篇正在肝~

标签:实体类,uid,BaseMapper,主键,Plus,设置,Mybatis,id
From: https://blog.csdn.net/petrece/article/details/136678220

相关文章

  • ②【MyBatis】 Mapper代理方式开发( 常用 )
    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~个人主页:.29.的博客学习社区:进去逛一逛~②【MyBatis】Mapper代理方式⚪使用Mapper代理方式开发1.Mapper接口与SQL映射文件2.设置映射文件namespace......
  • MyBatisPlus代码生成器(新)
    MyBatisPlus代码生成器(新)注意:适用版本:mybatis-plus-generator3.5.1以上版本参考:官网本次配置:JDK17+SpringBoot3.1.5+MyBatisPlus3.5.3.1注意:mybatis-plus-generator版本需与mybatis-plus版本一致最新依赖参考:https://mvnrepository.com/artifact/com.baomid......
  • 07-ElementPlus组件库
    ElementPlus简介ElementPlus是饿了么团队研发的,基于Vue3的组件库准备工作:创建工程化的Vue项目选择TypeScript参照官方文档安装ElementPlus组件库(当前工程的目录下)npminstallelement-plus--savemain.ts中引入ElementPlus组件库参照官方文档//main.tsimpor......
  • Vue3 组合函数 element-plus table数据滚动播放
    Vue滚动播放组合函数import{onMounted,onUnmounted}from"vue";exportfunctioncreateScroll(tableRef){lettimer=null;functionstartScroll(){consttable=tableRef.value.layout.table.refs;consttableWrapper=table.bodyWrapper.f......
  • MyBatis动态SQL写法
    一、MyBatis动态sql是什么动态SQL是MyBatis的强大特性之一。在JDBC或其它类似的框架中,开发人员通常需要手动拼接SQL语句。根据不同的条件拼接SQL语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态SQL恰好解......
  • vue3+elementplus(ElementUI)入门案例
    1、配置脚手架,已配置则无需再配npminstall-gvue-cli2、创建空文件夹,用vscode打开,并在vscode终端执行如下命令vuecreateXXXcdXXX3、安装elementplus插件,注意:vue3需要搭配elementplus使用,elementplus是elementui的升级版,需搭配vue3使用(初学者建议直接学vue3+elemen......
  • Idea - 关于mybatis的插件
       idea中配置的mybatis的mapper类和xml文件的图标怎么自动变为mybatis的logo?需要安装什么插件,怎么安装?  在IntelliJIDEA中,要使MyBatis的mapper接口和XML文件自动显示为MyBatis的图标,你通常需要一个支持MyBatis的插件。其中,最常用和官方推荐的插件是"MyBati......
  • mybatis-plus实用增强小工具
    一、背景不知道各位在开发中是否遇到了这样的问题,就是一般在做一些查询功能的时候,特别是一些繁琐的信息采集类或者erp类系统,前段要传一大批查询条件,我们需要在代码里一遍遍的判空,然后在讲条件进去组合进去查询。假设我们有以下实体类,前端将给我们传过来这个类,然后我们需要按照......
  • mybatis02 - 第一个Mybatis程序
     1、开发思路2、搭建环境2.1、数据库--创建数据库CREATEDATABASE`mybatis`;--切换数据库USE`mybatis`;--创建表CREATETABLEIFNOTEXISTS`user`(`id`INT(20)NOTNULLCOMMENT'序号',`name`VARCHAR(30)DEFAULTNULLCOMMENT'账号',`pwd`......
  • t04_mybatisplus
    一、快速入门准备数据DROPTABLEIFEXISTSuser;CREATETABLEuser(idBIGINT(20)NOTNULLCOMMENT'主键ID',nameVARCHAR(30)NULLDEFAULTNULLCOMMENT'姓名',ageINT(11)NULLDEFAULTNULLCOMMENT'年龄',emailVARCHAR(50)......