MyBatisPlus条件构造器EntityWrapper常用条件参数说明

MyBatisPlus是一个针对MyBatis的增强工具,它提供了丰富的查询API,无需手动编写SQL即可完成多种操作,如单一查询、批量处理、分页、排序等。通过简单的注解配置,你可以轻松实现等于、不等于、大于、小于等条件的筛选,还支持模糊搜索、分组、拥有和不存在条件的查询,极大地提高了开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyBatisPlus是一款非常强大的MyBatis增强工具包,只做增强不做改变.在不用编写任何SQL语句的情况下即可以极其方便的实现单一、批量、分页等操作

查询方式说明
setSqlSelect设置select查询字段
eq等于
allEq基于map内容等于
ne不等于
gt大于
ge大于等于
lt小于
le小于等于
like模糊查询 like
not like模糊查询 not like
inin 语句
notinnot in 语句
isnullnull 值查询
is not null非 null 值查询
groupby分组查询
having关键字查询
orderby排序
orderasc升序
orderdesc降序
existsexists条件查询
notexistsnot exists条件查询
betweenbetween 语句
notbetweennot between 语句
addfilter自由拼接sql
last查询最后
### MyBatisPlus 使用教程 MyBatisPlus 是一款基于 MyBatis 的增强工具包,旨在简化开发流程并提升效率。它提供了丰富的功能特性,例如无需手写 SQL 即可完成常见的增删改查操作、支持代码生成器以及多种高级扩展能力。 #### 集成 MyBatisPlus 在 Spring Boot 项目中集成 MyBatisPlus 可以按照以下方式进行配置: 1. **引入依赖** 在 `pom.xml` 文件中添加 MyBatisPlus 和数据库驱动的相关依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.x.x</version> </dependency> <!-- 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> ``` 2. **配置数据源** 修改 `application.yml` 文件中的数据源配置项: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` #### 基础 CRUD 操作 MyBatisPlus 提供了开箱即用的基础 CRUD 功能,开发者只需继承其内置接口即可实现常用的数据访问逻辑。 1. **创建实体类** 定义与表结构对应的 Java 类,并标注必要的注解: ```java @Data public class User { private Long id; private String name; private Integer age; private Date createTime; // Getter and Setter methods... } ``` 2. **定义 Mapper 接口** 继承 `BaseMapper<T>` 并指定泛型参数为实体类类型: ```java public interface UserMapper extends BaseMapper<User> {} ``` 3. **执行基础查询** 调用 `UserMapper` 中的方法可以直接完成数据交互: ```java @Autowired private UserMapper userMapper; List<User> users = userMapper.selectList(null); // 查询所有记录 int count = userMapper.selectCount(new QueryWrapper<>()); // 获取总条数 boolean success = userMapper.insert(user); // 插入单条数据 ``` #### 条件构造器 EntityWrapper 当需要构建复杂的查询条件时,可以通过 `QueryWrapper` 或者 `UpdateWrapper` 构造动态 SQL 表达式[^1]。 ```java // 示例:查询年龄大于等于18岁的用户 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.ge("age", 18); List<User> userList = userMapper.selectList(queryWrapper); ``` #### 自动填充公共字段 通过实现 `MetaObjectHandler` 接口,可以自动设置新增或修改记录的时间戳等公共字段。 ```java @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); } @Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); } } ``` #### 多数据源配置 如果项目涉及多个数据库,则需额外配置多数据源管理策略。一种常见做法是利用 AOP 切面切换当前线程绑定的数据源名称[^3]。 --- ### MyBatisPlus 实战案例 假设某电商平台存在订单管理和商品库存两部分核心业务模块,分别存储于独立的 MySQL 数据库实例中。此时可通过如下方式实现跨库协作: 1. **定义主次数据源 Bean** 在 Spring Boot 启动类中标记扫描路径后,注册各自对应的数据源组件及其事务管理器。 2. **区分 Mapper 所属数据源** 对同模块下的 DAO 层文件夹单独声明所使用的 DataSource 注解标记。 3. **统一异常捕获机制** 结合 GlobalExceptionHandler 工具封装返回 JSON 格式的错误提示信息给前端调用方。 以上便是关于 MyBatisPlus 的一些典型应用实践总结[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值