Mybatis-Plus快速入门
参考:黑马MyBatisPlus教程全套视频教程,快速精通mybatisplus框架
1.Mapper-plus配置
1.@MapperScan("Mapper目录的位置")
2.Mapper层文件需要继承BaseMapper
extends BaseMapper<实体类>

3.开启日志

4.配置类
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2.标准CRUD功能
3.分页查询
使用分页需要在配置类配置


4.条件查询
查询条件(eq、lt、ge、between、like、select)


1.普通格式

2.lambda格式
3.lambda格式

4.两个条件都取(链式编程)(and关系)

5.两个条件取其中一个(or关系)

6.null值处理(如果有些值没有传递怎么办)
传统方法if判断

条件参数控制

5.查询投影(qw.select)
就是需要数据库返回的字段,一般不用,我们定义VO对象返回就行


6.条件分页查询
// 假设要进行分页查询,每页显示10条记录,查询第1页,查询条件为 age > 25
//1.分页条件
IPage<User> page = new Page<>(1, 10);
//2.查询条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 25);
//3.获取分页数据
IPage<User> userPage = userMapper.selectPage(page, queryWrapper); // 调用 selectPage 方法
List<User> userList = userPage.getRecords();
long total = userPage.getTotal();
System.out.println("Total users (age > 25): " + total);
for (User user : userList) {
System.out.println("User: " + user);
}
7.实体类与表的映射

select=false是密码不被查询出去


8.删除
批量删除
// 根据 entity 条件,删除记录
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
// 删除(根据ID 批量删除)
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根据 ID 删除
int deleteById(Serializable id);
// 根据 columnMap 条件,删除记录
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
# 关闭大驼峰自动转换
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
# 如果删除实际上做的是值的更新
global-config:
db-config:
logic-delete-field: isDelete # 全局逻辑删除字段名
logic-delete-value: 1 # 逻辑已删除值
logic-not-delete-value: 0 # 逻辑未删除值
逻辑删除字段名前要加注解,才能被识别

业务层,持久层的这两个方法都会编程逻辑删除
9.yml文件配置

相关文章:
Mybatis-Plus快速入门
参考:黑马MyBatisPlus教程全套视频教程,快速精通mybatisplus框架 1.Mapper-plus配置 1.MapperScan("Mapper目录的位置") 2.Mapper层文件需要继承BaseMapper extends BaseMapper<实体类> 3.开启日志 4.配置类 Configuration public cl…...
Chrome被360导航篡改了怎么改回来?
一、Chrome被360导航篡改了怎么改回来? 查看是否被360主页锁定,地址栏输入chrome://version,看命令行end后面(蓝色部分),是否有https://hao.360.com/?srclm&lsn31c42a959f 修改步骤 第一步:…...
Coding(Jenkinsfile)+ Docker 自动化部署 Springboot —— 图文细节和一些注意事项说明
前言:本章讲述一下我使用Coding(Jenkinsfile) Docker部署Springboot项目过程,记录图文细节和一些需要注意的问题。 说明:为什么要使用Coding去集成Docker? 节约了服务器内存,不需要单独部署 Jen…...
docker django uwsgi 报错记录
这个配置中是能够正常进行网页访问的,能够查看网页 [uwsgi] chdir /home/luichun/lc/Pyfile/PyCursor/app module app.wsgi:application plugin-dir /usr/lib/uwsgi/plugins plugins python311 env TZAsia/Shanghai socket-timeout 60 websocket-ma…...
数据分析思维(五):分析方法——假设检验分析方法
数据分析并非只是简单的数据分析工具三板斧——Excel、SQL、Python,更重要的是数据分析思维。没有数据分析思维和业务知识,就算拿到一堆数据,也不知道如何下手。 推荐书本《数据分析思维——分析方法和业务知识》,本文内容就是提取…...
【ES6复习笔记】集合Set(13)
ES6 提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用『扩展运算符』和『for…of…』进行遍历。 集合的属性和方法 size:返回集合的元素个数。add…...
基础爬虫案例实战
我们已经学习了多进程、requests、正则表达式的基本用法,但还没有完整地实现过一个爬取案例。这一节,我们就来实现一个完整的网站爬虫,把前面学习的知识点串联起来,同时加深对这些知识点的理解。 准备工作 我们需要先做好如下准备工作。 安…...
深度学习工作:从追求 SoTA 到揭示新现象
TLDR:主要讨论了从追求模型 SoTA 到揭示新现象的转变。通过几个例子,包括ACNet到RepVGG的发展,RIFE插帧、Film插帧,以及OpenAI的近期工作,阐述了这种转变的重要性。 知乎:黄哲威 hzwer链接:http…...
学习记录—正则表达式-基本语法
正则表达式简介-《菜鸟教程》 正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。 正则表达式可以在文本中查找、替换、提取和验证特定的模式。 本期内容将介绍普通字符,特殊…...
智慧农业物联网传感器:开启农业新时代
在当今科技飞速发展的时代,农业领域正经历着一场前所未有的变革,而智慧农业物联网传感器无疑是这场变革中的关键利器。它宛如农业的 “智慧大脑”,悄然渗透到农业生产的各个环节,为传统农业注入了全新的活力,让农业生产…...
普通人怎么入门学习并使用AI?
前言 作为普通人看着AI一天一天变革,心急如焚,未来但是就是不知道怎么才算真正进入了AI,使用AI....作为从头至尾追随AI脚步的码农有几点小建议~ 一、💻使用 AI 网站或软件,解决实际问题 不管用哪种AI,先用…...
Java中处理if-else的几种高级方法
前言 在我看来多写几个if-else没啥大不了的,但是就是看起来没啥逼格,领导嫌弃。我根据开发的经历写几个不同的替代方法 一、枚举法替代 我先前写了一篇文章,可以去看看。 通过枚举替换if-else语句的解决方案_枚举代替if else c语言-CSDN博…...
前端知识补充—CSS
CSS介绍 什么是CSS CSS(Cascading Style Sheet),层叠样式表, ⽤于控制⻚⾯的样式 CSS 能够对⽹⻚中元素位置的排版进⾏像素级精确控制, 实现美化⻚⾯的效果. 能够做到⻚⾯的样式和结构分离 基本语法规范 选择器 {⼀条/N条声明} 1)选择器决定针对谁修改…...
企业架构学习笔记-数字化转型
1. 企业数字化发展阶段 案例1.业务部门“点菜”,IT部门叫苦 随着企业信息化进程的不断推进,IT部门的角色和面临的挑战也在发生显著变化。在信息化建设的初级阶段,确实存在IT部门需要积极引导和说服业务部门重视信息技术价值的情况。当时&am…...
Linux网络——TCP的运用
系列文章目录 文章目录 系列文章目录一、服务端实现1.1 创建套接字socket1.2 指定网络接口并bind2.3 设置监听状态listen2.4 获取新链接accept2.5 接收数据并处理(服务)2.6 整体代码 二、客户端实现2.1 创建套接字socket2.2 指定网络接口2.3 发起链接con…...
Vue3之状态管理Vuex
Vuex作为Vue.js的官方状态管理库,在大型或复杂的前端项目中扮演着至关重要的角色。本文将从Vuex的原理、特点、应用场景等多个方面进行深入解析,并通过代码示例展示如何在Vuex中实现特定功能。 一、Vuex原理 Vuex是一个专为Vue.js应用程序开发的状态管…...
DPO(Direct Preference Optimization)算法解释:中英双语
中文版 DPO paper: https://arxiv.org/pdf/2305.18290 DPO 算法详解:从理论到实现 1. 什么是 DPO? DPO(Direct Preference Optimization)是一种直接基于人类偏好进行优化的算法,旨在解决从人类偏好数据中训练出表现…...
Hostapd2.11解析笔记
最近在调试Hostapd,尝试通过配置使能一个支持MLO的AP,不过不知道hostapd conf里面哪些选项开启后可以使能,所以对Hostapd做一个整体解析. 简介 hostapd 是用于接入点和身份验证服务器的用户空间守护程序。它实现 IEEE 802.11 接入点管理、IEEE 802.1X/WPA/WPA2/WPA3/EAP 身份…...
js控制文字溢出显示省略号
.text{display: -webkit-box;overflow: hidden;white-space: normal;text-overflow: ellipsis;word-wrap: break-word;-webkit-line-clamp: 2;-webkit-box-orient: vertical; }本人有个需求就是在一个盒子内有一段文本,然后控制文本显示两行,第二行要显示…...
WPF+MVVM案例实战与特效(四十七)-实现一个路径绘图的自定义按钮控件
文章目录 1、案例效果2、创建自定义 PathButton 控件1、定义 PathButton 类2、设计样式与控件模板3、代码解释3、控件使用4、直接在 XAML 中绑定命令3、源代码获取4、总结1、案例效果 2、创建自定义 PathButton 控件 1、定义 PathButton 类 首先,我们需要创建一个新的类 Pat…...
嵌入式系统高可靠存储模块(Store)设计与实现
在嵌入式系统开发中,数据持久化是保障设备稳定性、连续性运行的核心支撑,尤其对于物联网网关、工业控制器、智能家居终端等设备,需长期存储设备配置、运行参数、网络信息等关键数据,且要求掉电不丢失、读写高效、容错性强。基于此…...
Pixel Couplet Gen实操手册:像素春联生成结果自动同步至微信公众号图文素材库
Pixel Couplet Gen实操手册:像素春联生成结果自动同步至微信公众号图文素材库 1. 项目介绍与核心功能 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成工具。通过ModelScope大模型的文本生成能力,结合精心设计的8-bit复古游戏…...
Verilog基础:task和function的使用(一)
相关文章 Verilog基础专栏https://blog.csdn.net/weixin_45791458/category_12263729.html 一、前言 任务(task)和函数(function)即提供了从不同位置执行公共过程的能力(因为这样可以实现代码共享),也提供了把大过程分解成小过程的能力&…...
FK-Onmyoji:阴阳师终极自动化护肝助手完整使用指南
FK-Onmyoji:阴阳师终极自动化护肝助手完整使用指南 【免费下载链接】FK-Onmyoji 阴阳师抗检测多功能脚本 项目地址: https://gitcode.com/gh_mirrors/fk/FK-Onmyoji 阴阳师玩家们,是否厌倦了重复枯燥的日常任务?FK-Onmyoji为您带来革命…...
解决数字阅读焦虑:用fanqienovel-downloader构建个人离线图书馆的创新方法
解决数字阅读焦虑:用fanqienovel-downloader构建个人离线图书馆的创新方法 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 在数字阅读日益普及的今天,你是否曾遭遇过…...
HY-MT1.5-1.8B网络隔离环境安装:离线部署完整方案
HY-MT1.5-1.8B网络隔离环境安装:离线部署完整方案 想象一下,在一个完全与互联网隔绝的服务器机房或保密研发中心,你需要一个高质量的翻译工具来处理多语言文档。传统的在线翻译API用不了,商业软件又笨重且昂贵。这时候࿰…...
【30】软考软件设计师——UML类图与用例图满分精讲|下午第3题常考核心
摘要:本文是《软件设计师50讲通关|从零基础到工程师职称》专栏第30篇,聚焦模块四:应用技术(下午题)第3道高频大题,UML建模是历年下午必考核心,单题分值稳定10~12分。全文深度拆解两大核心UML图表:类图与用例图,超详细讲解类图三层结构、可见性修饰符、五大核心关系(…...
开源工具终极方案:3步解锁Cursor Pro全功能完全指南
开源工具终极方案:3步解锁Cursor Pro全功能完全指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your trial…...
AgentCPM-Report部署教程:Pixel Epic在Ubuntu/CentOS下的环境配置
AgentCPM-Report部署教程:Pixel Epic在Ubuntu/CentOS下的环境配置 1. 项目介绍 Pixel Epic是一款基于AgentCPM-Report大模型构建的研究报告辅助终端,它将枯燥的科研工作转化为一场像素风格的RPG冒险体验。与传统AI工具不同,Pixel Epic采用了…...
Janus-Pro-7B在CNN图像识别中的增强应用
Janus-Pro-7B在CNN图像识别中的增强应用 1. 引言 图像识别技术正在经历一场革命性的变革。传统的CNN模型虽然在图像分类任务上表现出色,但在复杂场景和多模态理解方面仍存在局限。今天我们要介绍的Janus-Pro-7B,作为一个统一的多模态理解和生成框架&am…...





