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

类型: 属性注解

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

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

相关推荐
zzzsde1 天前
【Linux】基础开发工具(6):版本控制器git&&调试器gdb/cgdb
linux·运维·服务器
计算机毕业设计开发1 天前
django高校公寓管理系统--附源码64226
java·c++·spring boot·python·spring cloud·django·php
叫我辉哥e11 天前
### Linux命令创意组合大赛技术文章大纲
linux·运维·服务器
weixin_427771611 天前
npm 绕过2FA验证
前端·npm·node.js
季明洵1 天前
Java中哈希
java·算法·哈希
组合缺一1 天前
Claude Code Agent Skills vs. Solon AI Skills:从工具增强到框架规范的深度对齐
java·人工智能·python·开源·solon·skills
学海无涯书山有路1 天前
Android ViewBinding 新手详解(Java 版)—— 结合 ViewModel+LiveData 实战
android·java·开发语言
jaysee-sjc1 天前
【练习十】Java 面向对象实战:智能家居控制系统
java·开发语言·算法·智能家居
liulilittle1 天前
ISIF-COP香港服务器,启用OPENPPP2 VMUX全双工
运维·服务器·网络·信息与通信·通信
哪里不会点哪里.1 天前
Spring Boot 启动原理深度解析
java·spring boot·后端