1. MyBatis-Plus基础CRUD操作解析
作为Java开发者最常用的ORM框架之一,MyBatis-Plus在传统MyBatis基础上进行了深度增强。今天我们就来拆解其最核心的CRUD功能实现细节,结合我多年实战经验,分享那些官方文档没写的实用技巧。
先明确几个关键概念:MP通过继承BaseMapper接口自动获得18个基础CRUD方法,配合Lambda表达式和Wrapper条件构造器,能实现90%以上的单表操作需求。相比原生MyBatis需要手动编写SQL,开发效率提升300%以上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心功能实现原理
2.1 实体类映射机制
MP采用"约定优于配置"的原则,默认规则包括:
- 驼峰转下划线命名(userName -> user_name)
- @TableId标注主键字段
- @TableField处理特殊字段映射
建议在application.yml中配置全局策略:
yaml复制mybatis-plus:
global-config:
db-config:
id-type: auto # 主键自增
table-underline: true # 开启下划线映射
2.2 基础CRUD方法清单
BaseMapper提供的主要方法:
java复制// 插入
int insert(T entity);
// 删除
int deleteById(Serializable id);
int deleteByMap(@Param("cm") Map<String, Object> columnMap);
int delete(@Param("ew") Wrapper<T> wrapper);
// 修改
int updateById(@Param("et") T entity);
int update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper);
// 查询
T selectById(Serializable id);
List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
List<
