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

MyBatisPlus的学习项目页面

MyBatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息

类名驼峰转下划线作为表名

名为id的字段作为主键

变量名驼峰转下划线作为表的字段名

常见注解

@TableName:用来指定表名

@Tableld:用来指定表中的主键字段信息

@TableField:用来指定表中的普通字段信息

IdType枚举
  • AUTO:数据库自增长

  • INPUT:通过set方法自行输入
  • ASSIOG_ID:分配ID,接口IdentifierGenerator的方法nextId来生成id,默认实现类为DefaultIdentifierGenerator雪花算法

对于这个数据库表:tb_user

使用@TableField的常见场景:

  • 成员变量名与数据库字段名不一致

  • 成员变量名以is开头,且是布尔值

  • 成员变量名与数据库关键字冲突

  • 成员变量不是数据库字段

条件构造器

查询出名字中带‘o’的,存款大于等于1000元的人的id,info,balance:

SELECT id,info,balance 

FROM user

WHERE username LIKE "o" AND balance >=?

void testQueryWrapper(){//1.构建查询条件QueryWrapper<User> wrapper=new QueryWrapper<User>().selct("id","info","balance").like("username","o").ge("balance",1000);//2.查询List<User> users=userMapper.selectList(wrapper);users.forEach(System::out::println);
}

其中User类是已经绑定数据库对应的user表

更新用户名为jack的用户余额为2000

UPDATE user

SET balance = 2000

WHERE username = "jack"

void testUpdateByQueryWrapper(){//1.要更新的数据User user=new User();user.setBalance(2000);//2.更新的条件QueryWrapper<User> wrapper=new QueryWrapper<User>().eq("username","jack");//3.执行更新userMapper.update(user,wrapper);
}

 更新id为1,2,4的用户的余额,扣200.

UPDATE user 

SET balance = balance - 200

WHERE id IN (1,2,4)

void testUpdateWrapper(){List<int> ids=List.of(1,2,4);UpdateWrapper<User> Wrapper = new UpdateWrapper<User>().setSql("balance=balance-200").in("id",ids);userMapper.update(null,wrapper);}

尽量使用LambdaQueryWrapper和LambdaUpdateWrapper,避免硬编码

void testLambdaQueryWrapper(){//1.构建查询条件LabdaQueryWrapper<User> wrapper=new LabdaQueryWrapper<User>().selct(User::getUsername,User::getInfo,User::getBalance).like(User::getUsername,"o").ge(User::getBalance,1000);//2.查询List<User> users=userMapper.selectList(wrapper);users.forEach(System::out::println);
}

Service接口

自己写的UserService接口继承IService接口,实现类UserServiceImpl继承ServiceImpl实现类,此时就可以使用Service接口了。

基于Restful风格实现下面的接口:

 

多个条件的查询建议用Lambda:

项目

相关文章:

MyBatisPlus的学习项目页面

MyBatisPlus通过扫描实体类&#xff0c;并基于反射获取实体类信息作为数据库表信息 类名驼峰转下划线作为表名 名为id的字段作为主键 变量名驼峰转下划线作为表的字段名 常见注解 TableName&#xff1a;用来指定表名 Tableld&#xff1a;用来指定表中的主键字段信息 Tabl…...

基于EtherCAT的机器人多轴同步运动控制

随着工业自动化的发展&#xff0c;机器人在生产线上的应用越来越广泛。为了实现高效、精确的运动控制&#xff0c;机器人的多轴运动必须能够实现同步操作&#xff0c;它能够提高机器人的运动精度和稳定性&#xff0c;实现更高效的生产线操作。同时&#xff0c;它也为机器人的协…...

彩虹易支付 9.27 最新版加订单查询 sy 更新版

彩虹易支付 9.27 最新版加订单查询 sy 更新版 修复客服 2023/09/25&#xff1a; 1. 新增支付宝红包支付插件 2. 新增支付宝 APP 支付转 H5 支付 3. 更新了几个支付插件 安装教程&#xff1a; 环境&#xff1a;php7.2 上传后访问域名进行安装即可 源码下载&#xff1a;ht…...

python树状打印项目路径

学习这个的需求来自于&#xff0c;我想把项目架构告诉gpt问问它&#xff0c;然后不太会打印项目架构&#x1f602; 联想到Linux的tree指令 import osclass DirectoryTree:def __init__(self, path):self.path pathdef print_tree(self, methoddefault):if method default:sel…...

mysql误删误操作恢复数据,比传统方式和binlog2sql更快速用的恢复方式-reverse_sql恢复数据(单表多表)

场景&#xff1a; 误操作删除了某个表的数据&#xff0c;本文只讲工具的使用&#xff0c;首先自己通过mysqlbinlog或者记录找到误操作的时间范围&#xff1a;开始时间和结束时间&#xff0c;已经确定好是哪个binlog了下面以误删为例。 查看binlog是否开启 show variables like …...

CORE: Cooperative Reconstruction for Multi-Agent Perception 论文阅读

论文连接 CORE: Cooperative Reconstruction for Multi-Agent Perception 0. 摘要 本文提出了 CORE&#xff0c;一种概念简单、有效且通信高效的多智能体协作感知模型。 从合作重建的新颖角度解决了该任务&#xff1a; 合作主体共同提供对环境的更全面的观察整体观察可以作为…...

MySQL连接方式: Unix套接字 TCP/IP

今天连接mysql数据库使用mysql -u root -p指令的时候遇到了这个问题&#xff1a; 解决之后来总结一下mysql的连接方式 文章目录 1. Unix套接字&#xff08;或Windows命名管道&#xff09;特点&#xff1a;场景&#xff1a; 2. TCP/IP特点&#xff1a;场景&#xff1a; 3.对比总…...

TSINGSEE青犀智慧城市数字基座解决方案,助力城市数字化转型

一、行业背景 我国“十四五”规划纲要中提出&#xff0c;分级分类推进新型智慧城市建设&#xff0c;将物联网感知设施、通信系统等纳入公共基础设施统一规划建设&#xff0c;推进市政公用设施、建筑等物联网应用和智能化改造。完善城市信息模型平台和运行管理服务平台&#xf…...

【JavaEE】初识网络

网络初识 文章目录 网络初识网络发展史独立模式网络互连局域网LAN广域网 网络通信基础IP地址端口号格式 协议五元组协议分层OSI七层模型TCP/IP五&#xff08;四&#xff09;层协议1.物理层2.数据链路层3.网络层4.传输层5.应用程序 网络设备所在的分层封装和分用例子发送方接收方…...

UGUI交互组件ScrollBar

一.ScrollBar的结构 对象说明Scrollbar挂有Image和Scrollbar组件的主体对象Sliding Area表示滑动范围Handle滑块 二.Scrollbar的属性 属性说明Handle Rect控制柄对象的引用Direction拖动控制柄时滚动条值增加的方向Value滚动条的当前值&#xff0c;范围为 0.0 到 1.0Suze控制柄…...

DamiBus v0.51 发布

DamiBus&#xff0c;专为本地多模块之间通讯解耦而设计&#xff08;尤其是未知模块、隔离模块、领域模块&#xff09;。零依赖&#xff0c;特适合 DDD。 特点 结合 Bus 与 RPC 的概念&#xff0c;可作事件分发&#xff0c;可作接口调用&#xff0c;可作响应订阅。 支持事务传…...

[OpenJDK:环境变量配置]:填充Profile并修改默认配置

文章目录 一&#xff1a;背景&#xff1a;安装hadoop启动提示未找到JAVA_HOME1.1&#xff1a;配置Hadoop的Java环境变量 二&#xff1a;排查-定位解决2.1&#xff1a;查看环境变量配置发现没有JAVA_HOME2.1.1&#xff1a;解决&#xff1a;查看java安装目录2.1.2&#xff1a;再次…...

连接mysql报错 :Host ‘xxx.xx.x.x‘ is not allowed to connect to this MySQL server

排查思路 命令行连接mysql 我是安装在本地docker容器中的&#xff0c;可以使用一下命令直接连接 docker exec -it mysqldb mysql -u root -p其中mysqldb是我的mysql容器名字&#xff0c;后面跟随mysql的连接命令&#xff0c;然后输入密码即可。 如果没有设置过密码&#xff0c…...

Qt 布局(QSplitter 类QDockWidget 类) 总结

一、QSplitter 类(窗口分割) QSplitter类是一个Qt框架提供的基础窗口控件类&#xff0c;用于分割窗口&#xff0c;使得用户可以通过拖动分隔条来调节子窗口的大小。QSplitter在用户界面设计中非常常见&#xff0c;经常用于划分窗口区域&#xff0c;使得程序可以同时显示多个子…...

git-ssh-key协议同步文件

生成秘钥 ssh-keygen -t rsa ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Beza/.ssh/id_rsa): /c/Users/Beza/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): …...

2018-2019 ACM-ICPC, Asia Nanjing Regional Contest G. Pyramid(组合数学 计数)

题目 t(t<1e6)组样例&#xff0c;每次给定一个n(n<1e9)&#xff0c;统计边长为n的上述三角形的等边三角形个数 其中等边三角形的三个顶点&#xff0c;可以在所有黑色三角形&白色三角形的顶点中任取&#xff0c; 答案对1e97取模 思路来源 申老师 & oeis A0003…...

C++学习——string 详解(即C++字符串详解)

以下内容源于C语言中文网的学习与整理&#xff0c;非原创&#xff0c;如有侵权请告知删除。 一、定义string变量的方法 C增强了对字符串的支持&#xff0c;除了可以使用C风格的字符串&#xff0c;还可以使用内置的 string 类。 string是类&#xff0c;而不是基本数据类型。虽…...

LeetCode 1 两数之和

题目描述 链接&#xff1a;https://leetcode.cn/problems/two-sum/?envTypefeatured-list&envId2ckc81c?envTypefeatured-list&envId2ckc81c 难度&#xff1a;简单 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 targ…...

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程

【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【opencv】windows10下opencv4.8.0-cuda Python版本源码编译教程前言准备工具anaconda/cuda/cudnnanaconda创建环境(选做)安装原…...

【1day】用友U8Cloud未授权访问漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现...

终极免费MGit:在手机上管理Git仓库的完整解决方案

终极免费MGit&#xff1a;在手机上管理Git仓库的完整解决方案 【免费下载链接】MGit A Git client for Android. 项目地址: https://gitcode.com/gh_mirrors/mg/MGit 你是否曾经在通勤路上灵感迸发&#xff0c;却苦于无法立即提交代码&#xff1f;或者需要在移动设备上快…...

DLT Viewer:面向汽车电子系统的分布式日志诊断与实时监控技术方案

DLT Viewer&#xff1a;面向汽车电子系统的分布式日志诊断与实时监控技术方案 【免费下载链接】dlt-viewer Diagnostic Log and Trace viewing program 项目地址: https://gitcode.com/gh_mirrors/dl/dlt-viewer DLT Viewer是一款基于COVESA标准的专业诊断日志分析工具&…...

手把手教你用逻辑分析仪抓取RF433遥控器信号(附我家窗帘遥控器完整解码过程)

手把手教你用逻辑分析仪抓取RF433遥控器信号&#xff08;附我家窗帘遥控器完整解码过程&#xff09; 无线遥控技术早已渗透进日常生活&#xff0c;从车库门到智能窗帘&#xff0c;这些设备背后的RF433MHz通信协议却像黑匣子般神秘。本文将用一台百元级的逻辑分析仪和常见的超外…...

深度剖析APK Installer:Windows平台Android应用安装的专业解决方案

深度剖析APK Installer&#xff1a;Windows平台Android应用安装的专业解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款专为Windows平台设计…...

从Mid360到自主移动:基于Fast-LIO与Move_Base的机器人导航实战拆解

1. Mid360激光雷达与Fast-LIO的适配实战 第一次拿到Livox Mid360激光雷达时&#xff0c;我完全被它36059的超大视场角惊艳到了。这款固态激光雷达不仅体积小巧&#xff0c;而且完全不用担心传统机械式雷达的电机磨损问题。但真正开始用它做SLAM时&#xff0c;才发现实物开发和仿…...

阿里图像复原验证码识别

一、简介 这个就是阿里的图像还原验证码&#xff0c;他是从一个图片中任意抠出一个物品&#xff0c;可能是蜡烛、车轮、盘子、瓶子、盖子、扣子等等。然后让你通过鼠标拖动的方式&#xff0c;把物品拖到对应的位置上&#xff0c;完成图像复原验证。 这个验证码还有一个非常变态…...

终极指南:在Windows上直接安装安卓APK的3大优势与6个实用技巧

终极指南&#xff1a;在Windows上直接安装安卓APK的3大优势与6个实用技巧 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer APK Installer是一款专为Windows系统设计的安…...

MultiFunPlayer完整指南:3分钟学会设备与媒体完美同步,打造沉浸式娱乐体验

MultiFunPlayer完整指南&#xff1a;3分钟学会设备与媒体完美同步&#xff0c;打造沉浸式娱乐体验 【免费下载链接】MultiFunPlayer flexible application to synchronize various devices with media playback 项目地址: https://gitcode.com/gh_mirrors/mu/MultiFunPlayer …...

专业日志分析利器glogg:解决大规模日志监控与智能搜索的技术方案

专业日志分析利器glogg&#xff1a;解决大规模日志监控与智能搜索的技术方案 【免费下载链接】glogg A fast, advanced log explorer. 项目地址: https://gitcode.com/gh_mirrors/gl/glogg 在当今的分布式系统和微服务架构中&#xff0c;日志分析已成为系统运维、故障排…...

魔兽争霸3终极优化指南:7步让你的经典游戏在现代电脑上焕发新生

魔兽争霸3终极优化指南&#xff1a;7步让你的经典游戏在现代电脑上焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为一款经典的即…...