千家信息网

Mybatis Plus案例分析

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍了Mybatis Plus案例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mybatis Plus案例分析文章都会有所收获,下面我们一起来看看吧。1
千家信息网最后更新 2025年11月09日Mybatis Plus案例分析

这篇文章主要介绍了Mybatis Plus案例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mybatis Plus案例分析文章都会有所收获,下面我们一起来看看吧。

1 初识Mybatis-Plus

  MyBatis-Plus简称 MP,是一个 MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus有很多的特点支持很多的标准数据库,具体等学到相关特性的时候再去详细了解。MyBatis-Plus的官方文档:https://baomidou.com/

关于MyBatis-Plus的框架结构,也就是框架的底层实现官方文档给出如下试图,简单总结来就是:扫描实体类,通过反射抽取实体类中的属性并分析其与表中字段之间的关系,最后调用MyBatis-Plus提供的一堆方法生成SQL语句注入到MyBatis的容器中,从而实现不同的增删改查功能

2 入门案例

前期环境准备

第一步: 创建数据库表并插入数据

CREATE TABLE `user` (         `id` bigint(20) NOT NULL COMMENT '主键ID',         `name` varchar(30) DEFAULT NULL COMMENT '姓名',         `age` int(11) DEFAULT NULL COMMENT '年龄',         `email` varchar(50) DEFAULT NULL COMMENT '邮箱',         PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com');

第二步: 使用Spring Initializr快速创建一个SpringBoot工程

删除选中的不必要文件以及文件夹

第三步: pom文件导入相关依赖

    com.baomidou    mybatis-plus-boot-starter    3.5.1    org.projectlombok    lombok    true    mysql    mysql-connector-java    5.1.32    runtime    com.alibaba    druid-spring-boot-starter    1.1.17

第四步: 配置文件改后缀为.yml并配置数据源

spring:
# 数据源的各种配置
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus
username: root
password: 123456

# Mybatis-Plus开启日志打印
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

各层代码编写

domain层实体类

/** * @author : mereign * @date : 2022/3/13 - 14:28 * @desc : user实体类 */// 在编译期间生成user类的全参构造方法@AllArgsConstructor// 在编译期间生成user类的无参构造方法@NoArgsConstructor// 在编译期间生成封装属性的setter、getter方法,并重写了toString和equals、hashCode方法@Datapublic class User {    private Long id;    private String name;    private Integer age;    private String email;}

mapper层继承接口

/** * @author : mereign * @date : 2022/3/13 - 15:43 * @desc : 创建mapper接口继承BaseMapper接口并传user泛型 */ // spring框架创建mapper接口相对应的接口实现类@Mapperpublic interface UserMapper extends BaseMapper {}

测试类

/** * @author : mereign * @date : 2022/3/13 - 15:50 * @desc : 测试类简单测试mp的查询方法 */@SpringBootTestpublic class MybatisPlusTest {    @Autowired    UserMapper mapper;    @Test    public void selectListTest() {        // 通过条件构造器查询到一个list集合,如果没有条件的话参数设置为null        List users = mapper.selectList(null);        users.forEach(System.out::println);    }}

入门案例查询结果

入门案例中的小知识点

⚠ 测试类中注入mapper组件的时候代码会报红,但是并不会影响最终的程序执行结果。原因是:@Mapper接口将该接口动态生成的代理类注入到IOC容器中起相应的作用,所以使用自动注入mapper的时候会报红在容器中找不到这个接口组件。解决方法:在mapper接口上加@Repository注解将类或接口标注为一个持久层组件。这样的话一个注解用来起作用,一个注解用来注入的时候找到接口组件防止报红 ⚠ 

生成的SQL语句中,表名为mapper接口传入的泛型首字母小写,表中字段名为泛型类的封装属性,如果需要修改实体类绑定的表名的话需要在实体类上使用@TableName注解

关于"Mybatis Plus案例分析"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Mybatis Plus案例分析"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

接口 案例 方法 实体 生成 分析 数据 案例分析 文件 时候 注解 知识 组件 测试 容器 属性 框架 查询 编译 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 如何选云服务器规格 网络安全认证体系 烽火r2200服务器配置 面试网络安全一般需要笔试吗 如何开启自己的数据库 达内培训软件开发怎么样 江苏网络时钟同步服务器配置 东南大学网络安全贴吧 苹果登录显示连接id服务器出错 php遍历数据库表 数据库删除数据遇到的问题 学校网络安全风险评估 会计信息网络技术是干什么的 abap删除数据库表 程序架构学什么软件开发 护苗网络安全课体会200字 全国网络安全法律法规考试试题 如何通过计算机网络技术增加销售 中国知网的数据库设计 数据库端口监听状态的命令 南阳直播软件开发多少钱 免费网络安全视频 浙江洛菲斯网络技术有限公司 军用计算机网络安全检查包括 软件开发工程师有哪些 数据库关系规范中的插入异常 互联网科技大佬的生活 网络安全2020新动态 ftp服务器目录出错 网络安全维护的术语
0