文章目录数据库的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);}}