mybatis-plus 快速体验
文章目录数据库的user表目录结构pom.xml 依赖application.yml 配置文件springboot应用的入口程序实体类Usermapper接口测试文件数据库的user表目录结构pom.xml 依赖?xml version1.0 encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.0.5/version/parentgroupIdcom.atguigu/groupIdartifactIdmybatis-plus-quick/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source17/maven.compiler.sourcemaven.compiler.target17/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncoding/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependency!-- 测试环境 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency!-- mybatis-plus --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.3.1/version/dependency!-- 数据库相关配置启动器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!-- druid启动器的依赖 --dependencygroupIdcom.alibaba/groupIdartifactIddruid-spring-boot-3-starter/artifactIdversion1.2.20/version/dependency!-- 驱动类--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.28/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.28/version/dependency/dependencies!-- SpringBoot应用打包插件 --buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/projectapplication.yml 配置文件# 连接池配置spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedruid:url:jdbc:mysql:///mybatis-exampleusername:rootpassword:rootdriver-class-name:com.mysql.cj.jdbc.Drivermybatis-plus:configuration:log-impl:org.apache.ibatis.logging.stdout.StdOutImpl# 控制台输出sql语句springboot应用的入口程序packagecom.atguigu;importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;MapperScan(com.atguigu.mapper)SpringBootApplicationpublicclassMain{publicstaticvoidmain(String[]args){SpringApplication.run(Main.class,args);}}实体类Userpackagecom.atguigu.pojo;importlombok.Data;DatapublicclassUser{privateLongid;privateStringname;privateIntegerage;privateStringemail;}mapper接口packagecom.atguigu.mapper;importcom.atguigu.pojo.User;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;继承 mybatis-plus 提供的 基础Mapper接口自带crud方法publicinterfaceUserMapperextendsBaseMapperUser{}测试文件packagecom.atguigu.test;importcom.atguigu.mapper.UserMapper;importcom.atguigu.pojo.User;importorg.junit.jupiter.api.Test;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.boot.test.context.SpringBootTest;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;SpringBootTestpublicclassSpringBootMybatisPlusTest{AutowiredprivateUserMapperuserMapper;Testpublicvoidtest(){ListUseruserListuserMapper.selectList(null);System.out.println(userList:userList);}// 测试 mybatis-plus 的插入TestpublicvoidtestInsert(){UserusernewUser();user.setAge(888);user.setName(test-insert);user.setEmail(tets163.com);introwuserMapper.insert(user);// mybatis-plus 的自动插入id是根据雪花算法生成的哦System.out.println(row:row);}// 测试mybatis-plus 的删除TestpublicvoidtestDelete(){// 根据id删除introwuserMapper.deleteById(2020388575705047042L);System.out.println(row:row);// 根据 age 20 这个条件 删除MapparamnewHashMap();param.put(age,20);intiuserMapper.deleteByMap(param);System.out.println(i:i);}/** * TODO mybatis-plus的修改有一个共同点就是 * 当实体的属性值为null就不会修改数据库表中对应的字段 */TestpublicvoidtestUpdate(){UserusernewUser();user.setId(1L);user.setAge(30);// 相当于执行这一条sqlupdate user set age 30 where id 1intiuserMapper.updateById(user);System.out.println(i:i);}/** * TODO mybatis-plus的修改有一个共同点就是 * 当实体的属性值为null就不会修改数据库表中对应的字段 * * 这里我们实体类 User 的 age 声明为 Integer而不是 int * 就是因为Integer 默认值为null * int 默认值为0 * * 将所有人的年龄修改为22 */TestpublicvoidtestUpdate1(){UserusernewUser();user.setAge(22);introwsuserMapper.update(user,null);// null没条件System.out.println(rows:rows);}TestpublicvoidtestSelect(){// 根据 id查询UseruseruserMapper.selectById(1L);System.out.println(user user);// 根据 id集合查询ListLongidsnewArrayList();ids.add(1L);ids.add(2L);ids.add(3L);ListUserusersuserMapper.selectBatchIds(ids);System.out.println(users users);}}

相关新闻

高中数学资源合集(第二辑)

高中数学资源合集(第二辑)

高中数学《必刷100讲》 文件大小: -内容特色: 100讲精练覆盖高考核心题型适用人群: 高一至高三学生及数学教师核心价值: 刷题思路拆解,高效提分下载链接: https://pan.quark.cn/s/2c41167d98a4 高中数学竞赛培训视频+讲义 文件大小: -内容特色: 高清视…

2026/5/17 3:37:41 阅读更多 →
Transformer架构深度解析

Transformer架构深度解析

🧠 Transformer架构深度解析:从“注意力”到“理解”的革命 Transformer架构是人工智能领域近十年来最具颠覆性的创新之一,它不仅是GPT、BERT等大语言模型的基石,更是推动了自然语言处理乃至整个深度学习范式的变革。其核心思想完全抛弃了传统的循环(RNN)和卷积(CNN)…

2026/5/17 3:37:41 阅读更多 →
PyTorch-VLM训练大语言模型:从环境搭建到实战部署

PyTorch-VLM训练大语言模型:从环境搭建到实战部署

手把手教你用PyTorch-VLM训练大语言模型:从环境搭建到实战部署 本文基于实际项目文档,详细拆解如何使用 PyTorch-VLM 框架进行大语言模型的训练与推理,覆盖环境配置、模型下载、脚本编写、镜像构建、分布式训练全流程,并附可复现的实战案例。 一、引言 近年来,大语言模型…

2026/5/17 3:37:41 阅读更多 →

最新新闻

Qwen3.5小模型全系实测:端侧可用、视觉通吃、推理可切的开源多模态方案

Qwen3.5小模型全系实测:端侧可用、视觉通吃、推理可切的开源多模态方案

1. 项目概述:为什么这次Qwen3.5小模型系列值得你立刻上手试一试?我用自己那台4060 8G显存锐龙7 8845HS24GB内存的笔记本,连续三天泡在LM Studio里,把Qwen3.5全系四款模型——0.8B、2B、4B、9B——从头到尾跑了个遍。不是简单点开对…

2026/7/3 7:42:06 阅读更多 →
简单粗暴地理解js原型链--js面向对象编程

简单粗暴地理解js原型链--js面向对象编程

人是人他妈生的,妖是妖他妈生的。人和妖都是对象实例,而人他妈和妖他妈就是原型。原型也是对象,叫原型对象。 2)人他妈和人他爸啪啪啪能生出一堆人宝宝、妖他妈和妖他爸啪啪啪能生出一堆妖宝宝,啪啪啪就是构造函数&…

2026/7/3 7:40:05 阅读更多 →
2026春招AI抢人大战:小白程序员如何抓住大模型红利,速收藏!

2026春招AI抢人大战:小白程序员如何抓住大模型红利,速收藏!

2026年春招AI岗位激增8.7倍,大厂纷纷抢占人才,AI科学家月薪破13万。文章分析了AI岗位暴涨的原因、大厂抢人策略及职场焦虑,指出AI能力已成为职场新技能,并探讨了AI人才抢夺战后的可能发展趋势。对于想要抓住AI红利的程序员&#x…

2026/7/3 7:40:05 阅读更多 →
从Unity场景搭建到IoT数据驱动:我的数字孪生入门路径分享

从Unity场景搭建到IoT数据驱动:我的数字孪生入门路径分享

本文分享一个非科班出身的开发者,如何在15天内走通数字孪生全流程,并附上技术栈拆解和学习建议。 写在前面 2026年,数字孪生赛道持续升温。全球市场规模预计达到339.7亿美元(Fortune Business Insights数据)&#xff0…

2026/7/3 7:38:04 阅读更多 →
Flash Attention 安装地狱六重崩溃:CUDA_HOME not set、undefined symbol、预编译轮子不兼容、pip 编译两小时失败——逐一击破

Flash Attention 安装地狱六重崩溃:CUDA_HOME not set、undefined symbol、预编译轮子不兼容、pip 编译两小时失败——逐一击破

Flash Attention 安装地狱六重崩溃:CUDA_HOME not set、undefined symbol、预编译轮子不兼容、pip 编译两小时失败——逐一击破 如果你在 pip install flash-attn 之后见过以下任何一条报错——这篇文章就是写给你的。Flash Attention 是 AI 推理加速最重要的依赖&a…

2026/7/3 7:38:04 阅读更多 →
B站缓存视频转换工具终极指南:3步拯救你的珍贵视频收藏

B站缓存视频转换工具终极指南:3步拯救你的珍贵视频收藏

B站缓存视频转换工具终极指南:3步拯救你的珍贵视频收藏 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站缓存视频无法在…

2026/7/3 7:36:03 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻