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

类型: 属性注解

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

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

相关推荐
陈随易16 小时前
C++26 草案被否,二十八年来头一回
前端·后端·程序员
ZhengEnCi16 小时前
Agent 工具怎么折叠海量输出才「爽」:Trae、Claude Code 的渐进式披露设计原理
前端·agent
憧憬成为java架构高手的小白17 小时前
LangGraph4j 实战(下)
java
天诰17 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
陈希12319 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
IT_陈寒20 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端
ikoala20 小时前
让 Codex 自己查账:一个省 token 的小技巧
前端·后端·ai编程
女神下凡20 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
ikoala20 小时前
AI 写页面像说明书,修 Bug 像贴膏药?把这两句话写进 AGENTS.md
前端·javascript·ai编程
@兽血沸腾20 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins