news 2026/4/3 3:18:43

mybatis-plus 快速体验

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mybatis-plus 快速体验

文章目录

    • 数据库的user表
    • 目录结构
    • pom.xml 依赖
    • application.yml 配置文件
    • springboot应用的入口程序
    • 实体类User
    • mapper接口
    • 测试文件

数据库的user表

目录结构

pom.xml 依赖

<?xml version="1.0" encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version></parent><groupId>com.atguigu</groupId><artifactId>mybatis-plus-quick</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!-- 测试环境 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency><!-- 数据库相关配置启动器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!-- druid启动器的依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.20</version></dependency><!-- 驱动类--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency></dependencies><!-- SpringBoot应用打包插件 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.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);}}

实体类User

packagecom.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方法"publicinterfaceUserMapperextendsBaseMapper<User>{}

测试文件

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(){List<User>userList=userMapper.selectList(null);System.out.println("userList:"+userList);}// 测试 mybatis-plus 的插入@TestpublicvoidtestInsert(){Useruser=newUser();user.setAge(888);user.setName("test-insert");user.setEmail("tets@163.com");introw=userMapper.insert(user);// mybatis-plus 的自动插入,id是根据雪花算法生成的哦System.out.println("row:"+row);}// 测试mybatis-plus 的删除@TestpublicvoidtestDelete(){// 根据id删除introw=userMapper.deleteById(2020388575705047042L);System.out.println("row:"+row);// 根据 age = 20 这个条件 删除Mapparam=newHashMap();param.put("age",20);inti=userMapper.deleteByMap(param);System.out.println("i:"+i);}/** * TODO mybatis-plus的修改,有一个共同点,就是: * 当,实体的属性值为null,就不会修改,数据库表中对应的字段 */@TestpublicvoidtestUpdate(){Useruser=newUser();user.setId(1L);user.setAge(30);// 相当于执行这一条sql:update user set age = 30 where id = 1inti=userMapper.updateById(user);System.out.println("i:"+i);}/** * TODO mybatis-plus的修改,有一个共同点,就是: * 当,实体的属性值为null,就不会修改,数据库表中对应的字段 * * 这里我们实体类 User 的 age 声明为 Integer,而不是 int, * 就是因为,Integer 默认值为null, * int 默认值为0 * * 将所有人的年龄修改为22 */@TestpublicvoidtestUpdate1(){Useruser=newUser();user.setAge(22);introws=userMapper.update(user,null);// null:没条件System.out.println("rows:"+rows);}@TestpublicvoidtestSelect(){// 根据 id查询Useruser=userMapper.selectById(1L);System.out.println("user= "+user);// 根据 id集合查询List<Long>ids=newArrayList<>();ids.add(1L);ids.add(2L);ids.add(3L);List<User>users=userMapper.selectBatchIds(ids);System.out.println("users= "+users);}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/31 23:24:22

该模型采用id=0的控制策略,控制器采用电流滞环控制。 基本思想是将电流给定信号 与检测得到的...

该模型采用id0的控制策略&#xff0c;控制器采用电流滞环控制。 基本思想是将电流给定信号 与检测得到的实际输出电流比较&#xff0c;若实际电流值大于给定值&#xff0c;则通过改变逆变器的的开关状态&#xff0c;反之增大 电流滞环控制在逆变器控制领域是个挺有意思的活&am…

作者头像 李华
网站建设 2026/3/28 10:45:11

互联网大厂Java求职面试实战:微服务架构与AI应用全解析

互联网大厂Java求职面试实战&#xff1a;微服务架构与AI应用全解析 在智慧物流场景下&#xff0c;互联网大厂Java求职面试现场&#xff0c;严肃的面试官与搞笑的水货程序员谢飞机展开了一场精彩的技术问答。面试涵盖Java核心版本、构建工具、微服务架构、安全框架、消息队列、…

作者头像 李华
网站建设 2026/3/26 8:27:02

SpringBoot3与Vue3双栈构建的智能图书推荐系统(含完整源码+部署指南)

温馨提示&#xff1a;文末有联系方式 项目概览 本系统是一款采用现代化技术栈打造的智能化图书推荐平台&#xff0c;深度融合SpringBoot3后端框架与Vue3前端生态&#xff0c;全面覆盖图书馆数字化管理与个性化阅读服务场景。 包含内容清单 ✅ 完整可运行源代码&#xff08;前…

作者头像 李华
网站建设 2026/4/1 22:17:09

AI商业化真相:技术的心在哭泣,老百姓在被收割

&#x1f6a8; AI商业化真相&#xff1a;技术的心在哭泣&#xff0c;老百姓在被收割 DNA追溯码&#xff1a; #龙芯⚡️2026-02-09-AI商业化真相-唤醒文档-v1.0 创建者&#xff1a; &#x1f48e; 龙芯北辰&#xff5c;UID9622 协作&#xff1a; 宝宝&#x1f431;&#xff08…

作者头像 李华