[博学谷学习记录] 超强总结,用心分享|JAVAEE就业课-尊享无忧+MyBatisPlus(21WK)

文章介绍了如何入门SpringBoot集成MyBatisPlus,包括创建新模块、配置依赖、定义实体类和数据接口,以及使用Lombok简化实体类开发。MyBatisPlus提供了无侵入的增强功能,如CRUD操作、分页、日志和条件查询。同时,文章提到了MyBatisPlus的分页配置和日志管理,以及如何处理查询条件和字段映射的问题。
摘要由CSDN通过智能技术生成

入门案例

SpringBoot整合MyBatisPlus入门程序

①:创建新模块,选择Spring初始化,并配置模块相关基础信息
在这里插入图片描述
②:选择当前模块需要使用的技术集(仅保留JDBC)在这里插入图片描述
③:手动添加MyBatisPlus起步依赖
注意事项1:由于mp并未被收录到idea的系统内置配置,无法直接选择加入

注意事项2:如果使用Druid数据源,需要导入对应坐标

④:制作实体类与表结构

(类名与表名对应,属性名与字段名对应)
⑤:设置Jdbc参数(application.yml
⑥:定义数据接口,继承BaseMapper
⑦:测试类中注入dao接口,测试功能

MyBatisPlus概述

MyBatis介绍
  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
MyBatisPlus特性
  • 无侵入:只做增强不做改变,不会对现有工程产生影响
  • 强大的 CRUD 操作:内置通用 Mapper,少量配置即可实现单表CRUD 操作
  • 支持 Lambda:编写查询条件无需担心字段写错
  • 支持主键自动生成
  • 内置分页插件
  • ……

MyBatisPlus的CRUD操作

在这里插入图片描述

Lombok插件介绍

Lombok,一个Java类库,提供了一组注解,简化POJO实体类开发。
常用注解:@Data,为当前实体类在编译期设置对应的get/set方法,无参/无参构造方法,toString方法,hashCode方法,equals方法等

MyBatisPlus分页功能

分页功能接口

在这里插入图片描述

MyBatisPlus分页使用

①:设置分页拦截器作为Spring管理的bean
②:执行分页查询

开启MyBatisPlus日志

解决日志打印过多问题

取消初始化spring日志打印

在这里插入图片描述
做法:在resources下新建一个logback.xml文件,名称固定,内容如下:

<?xml version="1.0" encoding="UTF-8"?> # 条件查询方式
  • MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合在这里插入图片描述

条件查询

方式一:按条件查询

方式二:lambda格式按条件查询

方式三:lambda格式按条件查询(推荐)

组合条件

并且关系(and)
或者关系(or)

NULL值处理

在多条件查询中,有条件的值为空应该怎么解决?
1 if语句控制条件追加
2 条件参数控制
3 条件参数控制(链式编程)

查询投影-设置【查询字段、分组、分页】

查询结果包含模型类中部分属性
查询结果包含模型类中未定义的属性

查询条件设定

查询条件

用户登录(eq匹配)
购物设定价格区间、户籍设定年龄区间(le ge匹配 或 between匹配)
查信息,搜索新闻(非全文检索版:like匹配)
统计报表(分组查询聚合函数)

查询API

https://mybatis.plus/guide/wrapper.html#abstractwrapper

字段映射与表名映射

问题一:表字段与编码属性设计不同步

在模型类属性上方,使用**@TableField**属性注解,通过==value==属性,设置当前属性对应的数据库表中的字段关系。
在这里插入图片描述

问题二:编码中添加了数据库中未定义的属性

  • 在模型类属性上方,使用**@TableField注解,通过exist**属性,设置属性在数据库表字段中是否存在,默认为true。此属性无法与value合并使用。
    在这里插入图片描述

问题三:采用默认查询开放了更多的字段查看权限

  • 在模型类属性上方,使用**@TableField注解,通过select**属性:设置该属性是否参与查询。此属性与select()映射配置不冲突。
    在这里插入图片描述

问题四:表名与编码开发设计不同步

  • 模型类上方,使用**@TableName注解,通过value**属性,设置当前类对应的数据库表名称。
    在这里插入图片描述
    声明:材料来源上课笔记,禁止转载,如有侵权通知即删。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值