MybatisPlus

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.4.1</version>

</dependency>

MyBatisPlus特性

无侵入:只能增强不做改变,不会对现有工程产生影响

强大的CRUD操作:内置通用Mapper,少量配置即可实现单表CRUD操作

支持 Lambda: 编写查询条件无需担心字段写错

支持主键自动生成:

内置分页查询

@Configuration

public class MpCongfig{

@Bean

public MybatisPlusInterceptor pageInterceptor(){

MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();

interceptor.addInnerInterveptor(new PaginationInnerInteceptor());

return interceptor

}

}

链式编程不推荐因为太长

LambdaQueryWrapper<User>lqw = new LambdaQueryWrapper<User>();

lqw.select(User::getId,User::getName,User::getAge);

List<User>userList = userDao.selectList(lqw);

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

QueryWrapper<User>qm=new QueryWrapper<User>();

qm.select("count(*) as nums,gender");

qm.groupBy("gender");

List<Map<String,Object>>maps=userDao.selectMaps(qm);

字段映射与表面映射

@TableField

类型: 属性注解

作用: 设置当前属性对应的数据哭表中的字段关系

逻辑删除:为数据设置是否可用状态字段,删除时设置状态字段为不可用状态,数据保留在数据库中

相关推荐
想要成为糕糕手4 分钟前
从零到一:CSS 3D 旋转立方体完全指南
前端·css·canvas
lanyxp4 分钟前
Sentinel 管不到 SQL 这一层——我写了个 MyBatis SQL 熔断器
java
疯狂的魔鬼5 分钟前
多角色督办任务详情页:从权限矩阵到组件拆分的完整实现
前端·vue.js·架构
qq_谁赞成_谁反对8 分钟前
甲方IT的成长之路--nginx实战--2604
服务器·数据库·nginx
codexu_46122918713 分钟前
NoteGen 里一条记录如何变成 Markdown
前端·笔记·rust·tauri
meilindehuzi_a16 分钟前
从 Canvas 到 Vibe Coding:HTML5 游戏开发入门与 AI 飞机大战实战
前端·人工智能·html5
fofantasy18 分钟前
NSK LH25FL 升级至 NH25EM 技术规格指南
服务器·网络·数据库·经验分享·规格说明书
lichenyang45319 分钟前
鸿蒙 Web 容器(一):怎么把一个 H5 页面嵌进鸿蒙页面?
前端
慧一居士20 分钟前
SpringCloud 微服务Feigin 用的完整调用端和被调用的示例
java·spring cloud
CodeStats28 分钟前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker