当前位置: 首页 > news >正文

MyBatisPlus进阶版

1.映射

1.1自动映射

【1】表名和实体类名映射 -> 表名user   实体类名User

【2】字段名和实体类属性名映射 -> 字段名name   实体类属性名name

【3】字段名下划线命名方式和实体类属性小驼峰命名方式映射 ->

字段名 user_email   实体类属性名 userEmail

MybatisPlus支持这种映射规则,可以通过配置来设置

map-underscore-to-camel-case: true 表示支持下划线到驼峰的映射

map-underscore-to-camel-case: false 表示不支持下划线到驼峰的映射
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplmap-underscore-to-camel-case: true

1.2表映射

通过@TableName()注解指定映射的数据库表名,就会按照指定的表名进行映射

如:此时将数据库的表名改为powershop_user,要完成表名和实体类名的映射,需要将实体类名也要指定为powershop_user

1.3字段映射

【1】当数据库字段和表实体类的属性不一致时,我们可以使用@TableField()注解改变字段和属性的映射,让注解中的名称和表字段保持一致
如:此时将数据库字段的名称我们改为username,在根据实体类的属性拼接SQL的使用,就会使用@TableField()中指定的名称username进行拼接,完成查询

2.条件构造器

之前我们进行的MybatisPlus的操作,没有涉及到条件查询,实际上在开发需求中条件查询是非常普遍的。接下来我们就来讲解如何使用MybatisPlus完成条件查询。

首先,想要使用MybatisPlus完成条件查询,基于面向对象的思想,万物皆对象,那么查询条件也需要使用对象来完成封装。我们先看一下,在MybatisPlus中,和条件有关的类有哪些,他们之间有什么关系,理清楚了这个,我们在传递条件对象的时候,就很清晰了。

  1. QueryWrapper

AbstractWrapper的子类,如果我们需要传递String类型的字段信息,创建该对象

//1.创建QueryWrapper对象QueryWrapper<User> queryWrapper = new QueryWrapper<>();//2.设置条件,指定String字段名称和值queryWrapper.eq("name","louie");//3.使用条件完成查询User user = userMapper.selectOne(queryWrapper);

2.LambdaQueryWrapper

AbstractLambdaWrapper的子类,如果我们需要传递方法引用方式的字段信息,创建

 LambdaQueryWrapper<BookInfo> lambdaQueryWrapper = new LambdaQueryWrapper<>();lambdaQueryWrapper.eq(BookInfo::getId,1);BookInfo one = bookInfoService.getOne(lambdaQueryWrapper);

3.查询

3.1等值查询

@Test
void eq(){//1.创建QueryWrapper对象QueryWrapper<User> queryWrapper = new QueryWrapper<>();//2.设置条件,指定String字段名称和值queryWrapper.eq("name","Jack");//3.使用条件完成查询User user = userMapper.selectOne(queryWrapper);System.out.println(user);
}

eq

allEq条件查询

ne

3.2范围查询

gt

ge

It

le

between

notBetween

3.3模糊查询

like

notLike

likeLeft

likeRight

相关文章:

MyBatisPlus进阶版

1.映射 1.1自动映射 【1】表名和实体类名映射 -> 表名user 实体类名User 【2】字段名和实体类属性名映射 -> 字段名name 实体类属性名name 【3】字段名下划线命名方式和实体类属性小驼峰命名方式映射 -> 字段名 user_email 实体类属性名 userEmail MybatisPlus…...

安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法

EasyNVR是基于RTSP/Onvif协议的视频接入、处理及分发的安防视频云平台&#xff0c;可提供的视频能力包括&#xff1a;设备接入、实时视频直播、录像、云存储、录像回放与检索、告警、级联等&#xff0c;平台可支持将接入的视频流进行全平台、全终端的分发&#xff0c;分发的视频…...

流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合

前言 随着互联网的发展&#xff0c;流媒体视频内容日趋增多&#xff0c;已经成为互联网信息的主要承载方式。相对传统的文字&#xff0c;图片等传统WEB应用&#xff0c;流媒体具有高数据量&#xff0c;高带宽、高访问量和高服务质量要求的特点&#xff0c;而现阶段互联网“尽力…...

根据源码,模拟实现 RabbitMQ - 内存数据管理(4)

目录 一、内存数据管理 1.1、需求分析 1.2、实现 MemoryDataCenter 类 1.2.1、ConcurrentHashMap 数据管理 1.2.2、封装交换机操作 1.2.3、封装队列操作 1.2.4、封装绑定操作 1.2.5、封装消息操作 1.2.6、封装未确认消息操作 1.2.7、封装恢复数据操作 一、内存数据管理…...

Apache Flume架构和原理

Apache Flume是一个开源的分布式、可靠的日志收集和聚合系统,旨在将大量的日志数据从不同的数据源(如应用程序、服务器、设备)收集到中心存储或数据湖中。Flume的架构设计允许用户在大规模数据流的情况下实现可靠的数据传输和处理。 Flume特性 Apache Flume是一个用于收集…...

代码随想录算法训练营day38 | LeetCode 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

509. 斐波那契数&#xff08;题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台&#xff09; 思路&#xff1a;经典的dp题。 int fib(int n){if(n 0 || n 1) return n;return fib(n-1) fib(n-2); } 70. 爬楼梯&#xff08;题目…...

Linux基本指令【下】

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;题目大解析3 目录 &#x1f449;&#x1f3fb;cat&#x1f449;&#x1f3fb;echo&#xff08;输出…...

向量检索:基于ResNet预训练模型构建以图搜图系统

1 项目背景介绍 以图搜图是一种向量检索技术&#xff0c;通过上传一张图像来搜索并找到与之相关的其他图像或相关信息。以图搜图技术提供了一种更直观、更高效的信息检索方式。这种技术应用场景和价值非常广泛&#xff0c;经常会用在商品检索及购物、动植物识别、食品识别、知…...

SpringBoot 响应头添加版本号、打包项目后缀添加版本号和时间

文章目录 响应头添加版本号获取版本号添加响应处理器请求结果 打包项目后缀添加版本号和时间实现打包结果 响应头添加版本号 获取版本号 在 pom.xml 中&#xff0c;在 project.version 下定义版本号 在 application.yml 获取 pom.xml 中 project.version 中的信息 添加响应处…...

优化指南:带宽限制的可行策略

大家好&#xff01;作为一名专业的爬虫程序员&#xff0c;我们经常面临的一个挑战就是带宽限制。尤其是在需要快速采集大量数据时&#xff0c;带宽限制成为了我们提升爬虫速度的一大阻碍。今天&#xff0c;我将和大家分享一些解决带宽限制的可行策略&#xff0c;希望能帮助大家…...

计算机提示mfc120u.dll缺失(找不到)怎么解决

在计算机领域&#xff0c;mfc120u.dll是一个重要的动态链接库文件。它包含了Microsoft Foundation Class (MFC) 库的特定版本&#xff0c;用于支持Windows操作系统中的应用程序开发。修复mfc120u.dll可能涉及到解决与该库相关的问题或错误。这可能包括程序崩溃、运行时错误或其…...

Java基于SpringBoot+Vue实现酒店客房管理系统(2.0 版本)

文章目录 一、前言介绍二、系统结构三、系统详细实现3.1用户信息管理3.2会员信息管理3.3客房信息管理3.4收藏客房管理3.5用户入住管理3.6客房清扫管理 四、部分核心代码 博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云…...

微服务架构2.0--云原生时代

云原生 云原生&#xff08;Cloud Native&#xff09;是一种关注于在云环境中构建、部署和管理应用程序的方法和理念。云原生应用能够最大程度地利用云计算基础设施的优势&#xff0c;如弹性、自动化、可伸缩性和高可用性。这个概念涵盖了许多方面&#xff0c;包括架构、开发、…...

C++day2作业(2023.8.22)

1.定义一个学生的结构体&#xff0c;包含学生的姓名&#xff0c;年龄&#xff0c;成绩&#xff0c;性别&#xff0c;学生的成绩&#xff0c;姓名&#xff0c;定义为私有权限&#xff1b;定义一个学生类型的结构体变量&#xff0c;设置公有函数用于给学生的成绩和名字进行赋值&a…...

在 Spring Boot 中使用 OpenAI ChatGPT API

1、开始咯 我们来看看如何在 Spring Boot 中调用 OpenAI ChatGPT API。 我们将创建一个 Spring Boot 应用程序&#xff0c;该应用程序将通过调用 OpenAI ChatGPT API 生成对提示的响应。 2、OpenAI ChatGPT API 在开始具体讲解之前&#xff0c;让我们先探讨一下我们将在本教…...

【leetcode】225.用队列实现栈

分析&#xff1a; 队列遵循先入先出的原则&#xff0c;栈遵循后入先出的原则 也就是说&#xff0c;使用队列实现栈时&#xff0c;入队操作正常&#xff0c;但是出队要模拟出栈的操作&#xff0c;我们需要访问的是队尾的元素&#xff1b;题目允许使用两个队列&#xff0c;我们可…...

机器学习中XGBoost算法调参技巧

本文将详细解释XGBoost中十个最常用超参数的介绍&#xff0c;功能和值范围&#xff0c;及如何使用Optuna进行超参数调优。 对于XGBoost来说&#xff0c;默认的超参数是可以正常运行的&#xff0c;但是如果你想获得最佳的效果&#xff0c;那么就需要自行调整一些超参数来匹配你…...

第1章:计算机网络体系结构

文章目录 1.1 计算机网络 概述1.概念2.组成3.功能4.分类5.性能指标1.2 计算机网络 体系结构&参考模型1.分层结构2.协议、接口、服务3.ISO/OSI模型4.TCP/IP模型1.1 计算机网络 概述 1.概念 2.组成 1.组成部分&...

【Java 动态数据统计图】动态数据统计思路Demo(动态,排序,containsKey)三(115)

上代码&#xff1a; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map;public class day10 {public static void main(String[] args) {List<Map<String,O…...

【游戏评测】河洛群侠传一周目玩后感

总游戏时长接近100小时&#xff0c;刚好一个月。 这两天费了点劲做了些成就&#xff0c;刷了等级&#xff0c;把最终决战做了。 总体感觉还是不错的。游戏是开放世界3D游戏&#xff0c;Unity引擎&#xff0c;瑕疵很多&#xff0c;但胜在剧情扎实&#xff0c;天赋系统、秘籍功法…...

2026年03月27日全球AI前沿动态

一句话总结AI领域覆盖通用/垂直大模型、智能体应用、物理机器人、硬件算力、企业战略、产品更新、投融资、行业观点、民生教育、研究资源全维度&#xff0c;国产技术密集突破、智能体全面落地、硬件自研提速、安全风险频发、老年AI教育落地&#xff0c;行业向实用化、国产化、安…...

SRAM vs ReRAM vs Flash:一张表看懂不同存内计算芯片的优缺点与选型指南

SRAM vs ReRAM vs Flash&#xff1a;存内计算芯片技术选型全景指南 在AI算力需求爆炸式增长的今天&#xff0c;传统冯诺依曼架构的"内存墙"瓶颈日益凸显。存内计算技术通过将计算单元嵌入存储阵列&#xff0c;彻底打破了数据搬运的能耗桎梏。根据最新行业报告&#x…...

基于MATLAB的平移线扫激光三维重建完整方案与代码实现

现整理了一套完整的&#xff0c;平移线扫重建 matlab代码和方案&#xff0c;包含相机标定、光平面标定与方案、移动装置标定与方案、激光线条中心线自适应提取、畸变矫正、三维重建、点云滤波等部分&#xff0c;代码按模块编写&#xff0c;注释完整&#xff0c;附带一份完整苹果…...

解锁网易云音乐解析工具:3个鲜为人知的实用技巧

解锁网易云音乐解析工具&#xff1a;3个鲜为人知的实用技巧 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 网易云音乐解析工具作为一款专注于无损资源获取的开源项目&#xff0c;不仅能帮助用户轻松获取音乐文…...

KMS_VL_ALL_AIO激活工具完全指南:从问题诊断到长效管理

KMS_VL_ALL_AIO激活工具完全指南&#xff1a;从问题诊断到长效管理 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 如何诊断Windows/Office激活失败的核心原因&#xff1f; 1.1 激活失败的三大…...

告别格式焦虑:用StarWind V2V Converter v9.0.1.268在ESXi 8.0和Hyper-V之间无损迁移虚拟机

跨平台虚拟机迁移实战&#xff1a;StarWind V2V Converter的高效应用指南 当企业IT基础设施面临升级或混合云架构转型时&#xff0c;虚拟机格式转换往往成为技术团队最头疼的问题之一。我曾参与过多次从VMware到Hyper-V的迁移项目&#xff0c;亲眼目睹了传统转换方法导致的业务…...

OpenClaw 部署指南 (Linux)版本原始安装。

OpenClaw 部署指南 (Linux)版 这阵子工作忙得离谱,连折腾新东西的时间都没有。 “龙虾”的风吹过了,寻思着也不能一直当吃瓜群众,就跟一手,看看这玩意到底有多神。 老规矩,不整那些花里胡哨的,先本地跑起来再说。一步一步来,比一上来就搞什么生产环境靠谱多了。 这几…...

iText7中文渲染完全指南:从乱码到完美显示的技术突破

iText7中文渲染完全指南&#xff1a;从乱码到完美显示的技术突破 【免费下载链接】itext7-chinese-font 项目地址: https://gitcode.com/gh_mirrors/it/itext7-chinese-font 在数字化文档处理领域&#xff0c;PDF格式以其跨平台一致性成为信息传递的首选。然而&#xf…...

新手避坑指南:用Python+ROS搞定AVP项目中的.bag数据读取与深度图转点云

从零开始处理AVP项目中的.bag数据&#xff1a;深度图与点云实战解析 停车场里75个RealSense相机同时工作&#xff0c;产生的.bag数据像一座未经开采的金矿——但当你第一次打开这些文件时&#xff0c;可能会感到无从下手。作为刚接触ROS和点云处理的新手&#xff0c;我清楚地记…...

跨域突围与全栈架构演进:从Vite本地代理到Nginx部署+Next.js BFF层实战

摘要&#xff1a;前面10篇博客&#xff0c;我们从SPA架构、React核心Hook、TS类型系统、组件化封装、性能优化&#xff0c;一步步吃透了中后台系统的前端开发全流程&#xff0c;完成了从前端入门到熟练开发的进阶。但想要从“只会写页面的码农”&#xff0c;升级为“懂架构、懂…...