首页 > 其他分享 >mybatisplus简单了解

mybatisplus简单了解

时间:2023-01-01 23:34:25浏览次数:38  
标签:mybatisplus 查询 了解 设置 简单 注解 id 属性

mybatisplus是加强版mybatis,里面提供了更加简便强大的功能。

springboot整合mybatisplus,这个mybatisplus的jar包需要手动添加,不在起步依赖里面。

 

 然后整合完之后,再在创建的数据层接口哪里继承BaseMapper<User>,然后不需要做什么,这个数据层接口里面就有基本的增啥改查功能了。

 

 然后有一个@Data注解,他写在实体类上,可以省去写get,set,和构造方法,使用这个注解,需要导入一个jar依赖

 

导入的依赖:

 

 

 这个mybatisplus提供的功能有:

 

 接下来就是分页查询,分页查询,需要开启分页查询拦截器,所以需要设置一个控制器类,在这个类里面设置拦截器,

 

 然后 有个需要在yml配置文件里面设置日志输出在控制台:

 

 然后就是mybatisplus的条件查询,这个条件查询有三种表达式:

 

 使用条件查询,他需要一个Wapper对象或者lambdaWapper对象,然后用这个对象调用各种设置条件的方法

  

 

and 和or:

 然后还有当某个查询条件为空时,不再像以前那个使用那个if  xxx  != null条件查询的:

 

 

 投影属性设置:投影属性就是把那个查询出来的数据投影进行改变,或者进行一些其他操作,例如求和啥的:

 

 条件查询中的登录的mybatisplus操作的:

 

 范围查询的另一种操作:

 

 模糊匹配:

 

 全面操作如下:

  

 

 字段映射与表名映射:当数据库中的字段与java代码中的不一样时,就需要设置映射了:

 

 

 设置字段名不一样的注解是:@TableField注解:

 

 如果java代码中有数据库位编码的字段属性,那么需要在@TableField注解中设置另外一个属性:

  

 

 还有就是关闭有些字段的默认的显示,比如密码这个字段就不想让查出来,所以需要在@TableField注解中设置select属性:

 

  

 

 还有就是表名映射,表名与java代码中不一样是,使用@tableName:

  

id生成策略:mybatisplus中的默认ID生成策略就是利用那个雪花算法,得到的id是一段数字:

 

 

 所以我们可以通过设置其他的策略来控制得到id,当为数据库添加数据时,得到的id号就可以由自己控制了:

   

 

 然后这些id生成策略和表与java的映射的相关注解操作,大部分可以在yml文件中配置:

  

 

 多记录删除:根据id一次删除多个数据,这是把id传进一个list集合里面

  

 

 逻辑删除:逻辑删除并不是把数据在数据库中删除,而是他变为不可用的情况,我们可以再在每个数据后面在设置一个属性,如果逻辑删除,那么这个属性就会发生变化,从而无法被使用。为什么无法被使用,是因为sql语句,后面加了where 属性 = ,,;所以只有当那个属性是指定值时,才能被使用。

 

 他是怎么操作的呢?:

首先要在数据库中添加字段属性:

 

 然后在实体类中添加对应字段,并且使用@TableLogic设为逻辑删除字段:

 

 在yml文件中配置:

 

 还有乐观锁,锁,前面也有了解,就类似于两个用户同时进入一个程序,两个用户要拿争锁,拿到锁才能,进入程序。具体怎么操作如下:

现在数据库中添加字段:

 

 然后再实体类中添加字段:

 

 还要配置拦截器:

 

 使用乐观锁之前,需要现在对象中设置:

 

 最后就是代码生成器了:

就是把大部分代码中一样的东西抽出来,做成模板,不一样的在自己去写:

 

 介绍如下:

 

 使用的话首先需要导入相关依赖:

 

 我们需要创建一个类,在类中创建一个autoGenerator对象,然后再这个对象中设置相关配置:

 

 接下来就是数据源设置,包名设置啥的:

   

 

   

 然后完结,ssm。

 

标签:mybatisplus,查询,了解,设置,简单,注解,id,属性
From: https://www.cnblogs.com/y-258/p/17019251.html

相关文章

  • 微信公众号简单开发(4)普通消息
    我们在接收微信普通消息的时候呀,我们会发现我们有很多种普通消息。微信官方的文档:​​​https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140453​​微信官......
  • 在线工具:简单修改网址解锁新世界
    整理了几个自己经常会用到的在线小工具,简单改动一下网址,得到自己最想要的答案。Pandownload网页版之前介绍过,百度网盘链接替换baidu为baiduwp即可获取高速下载链接。如:​......
  • 关于微服务,这些你都了解吗-微服务介绍
    目录一认识微服务1.1什么是微服务1.2微服务的特点1.3微服务诞生背景1.4微服务架构的优势二微服务生态1.1硬件层1.2通信层1.3应用平台层1.4微服务层三微服务详解......
  • 关于智能家居系统你了解的有多少?
    智能家居是什么?现在市场上关于智能家居的概念比较宽泛,智能家居是以家庭住宅为基础,利用综合布线、网络通信、安全防护、自动控制、语音视频等技术将和家居生活相关的设备集成......
  • 关于一些耸人听闻的消息的简单反驳
    1.这是一个找工作中介的。”每年秋招季80%的offer都掌握在20%的人手中“ 这是一个经典的把马太效应扯到找工作领域的,我就简单反驳一下吧。首先假设人不会分身术,那么20%......
  • 简单理解 CJS AMD UMD ESM
    好久没有做过传统网页开发了,这次帮朋友处理的时候用了很多经典插件。在用到​​popper​​​的时候,发现引用地址里分成了​​esm​​​、​​cjs​​​、​​umd​​​......
  • 学习Python前要了解的tips
    学习Python前要了解的tips对后续的学习来说很重要,否则后续会出现一些奇奇怪怪的问题,而且很难找到解决方法。嘿嘿,就不要问我怎么知道的了吧,好多都是我踩过的坑卸载电脑......
  • 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 8丨判断三角形【难度简单】
      活动介绍:「数据仓库技术交流群」已经正式启动每日SQL打卡,帮助大家扎实基础,努力工作之余,别忘了自我提升。欢迎报名和邀请小伙伴参与,一个人可能走得很快,但一群人会走得很......
  • 一文了解 Go fmt 标准库输入函数的使用
    耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是Gofmt标准库输入函数的使用。如果本文对你有帮助,不妨点个赞,如果你是Go语言初学者,不妨点个关注,一起成......
  • 如何为企业打造优质应用环境!华为云弹性服务器了解一下
    一个业务好不好最重要是取决于他的服务器,服务器好的话,能够给业务带来非常不错的应用环境,也能给使用者带来非常多的便利。所以说一个好的服务器是非常重要的,在众多服务器中,华......