# MyBatis-Plus 工具类方法汇总表
| 类别 | 工具类 | 方法名 | 参数 | 返回值 | 说明 |
|------|--------|--------|------|--------|------|
| **字符串处理** | StringUtils | isBlank | CharSequence cs | boolean | 判断字符串是否为空(null、""、" ") |
| | | isNotBlank | CharSequence cs | boolean | 判断字符串是否非空 |
| | | isEmpty | CharSequence cs | boolean | 判断字符串是否为null或"" |
| | | isNotEmpty | CharSequence cs | boolean | 判断字符串是否非null且非"" |
| | | camelToUnderline | String str | String | 驼峰转下划线 |
| | | underlineToCamel | String str | String | 下划线转驼峰 |
| | | capitalize | String str | String | 首字母大写 |
| | | uncapitalize | String str | String | 首字母小写 |
| **对象操作** | ObjectUtils | isNull | Object obj | boolean | 判断对象是否为null |
| | | isNotNull | Object obj | boolean | 判断对象是否非null |
| | | isEmpty | Object obj | boolean | 判断对象是否为空 |
| | | isNotEmpty | Object obj | boolean | 判断对象是否非空 |
| | | equals | Object object1, Object object2 | boolean | 判断两个对象是否相等 |
| **集合操作** | CollectionUtils | isEmpty | Collection<?> coll | boolean | 判断集合是否为空 |
| | | isNotEmpty | Collection<?> coll | boolean | 判断集合是否非空 |
| | | isEmpty | Map<?, ?> map | boolean | 判断Map是否为空 |
| | | isNotEmpty | Map<?, ?> map | boolean | 判断Map是否非空 |
| **数组操作** | ArrayUtils | isEmpty | Object[] array | boolean | 判断数组是否为空 |
| | | isNotEmpty | Object[] array | boolean | 判断数组是否非空 |
| | | contains | Object[] array, Object object | boolean | 判断数组是否包含指定元素 |
| **Lambda表达式** | LambdaUtils | resolve | SFunction<T, ?> func | LambdaMeta | 解析Lambda表达式 |
| | | getColumnName | SFunction<T, ?> func | String | 获取Lambda表达式对应的数据库列名 |
| | | getFieldName | SFunction<T, ?> func | String | 获取Lambda表达式对应的实体字段名 |
| **SQL辅助** | SqlHelper | retBool | Integer result | boolean | 将Integer结果转换为boolean(影响行数>0为true) |
| | | getObject | Wrapper<?> queryWrapper | T | 从Wrapper中获取对象 |
| | | getList | Wrapper<?> queryWrapper | List<T> | 从Wrapper中获取列表 |
| **SQL工具** | SqlUtils | concatLike | String str, SqlLike type | String | 拼接LIKE查询字符串 |
| | | escapeSql | String value | String | SQL转义 |
| **反射操作** | ReflectionKit | getFieldList | Class<?> clazz | List<Field> | 获取类中所有字段(包括父类) |
| | | getFieldValue | Object obj, String fieldName | Object | 获取对象的字段值 |
| | | setFieldValue | Object obj, String fieldName, Object value | void | 设置对象的字段值 |
| | | getMethod | Class<?> clazz, String methodName, Class<?>... parameterTypes | Method | 获取方法 |
| **Lambda元数据** | LambdaMeta | getImplMethodName | 无 | String | 获取实现方法名 |
| | | getInstantiatedClass | 无 | Class<?> | 获取实例化类 |
| **ID生成** | IdWorker | getId | 无 | long | 获取唯一ID(雪花算法) |
| | | get32UUID | 无 | String | 获取32位UUID(无横线) |
| **条件构造** | Wrappers | query | 无 | QueryWrapper<T> | 创建QueryWrapper |
| | | update | 无 | UpdateWrapper<T> | 创建UpdateWrapper |
| | | lambdaQuery | 无 | LambdaQueryWrapper<T> | 创建LambdaQueryWrapper |
| | | lambdaUpdate | 无 | LambdaUpdateWrapper<T> | 创建LambdaUpdateWrapper |
| **条件构造构建** | WrapperBuilders | buildQuery | Consumer<QueryWrapper<T>> consumer | QueryWrapper<T> | 构建QueryWrapper |
| | | buildUpdate | Consumer<UpdateWrapper<T>> consumer | UpdateWrapper<T> | 构建UpdateWrapper |
| **注解处理** | AnnotationUtils | getAnnotation | Class<?> clazz, Class<A> annotationClass | A | 获取类上的注解 |
| | | getAnnotationField | Field field, Class<A> annotationClass | A | 获取字段上的注解 |
| **异常处理** | ExceptionUtils | mpe | String msg | MybatisPlusException | 创建MybatisPlusException |
| | | mpe | String msg, Throwable cause | MybatisPlusException | 创建带原因的MybatisPlusException |
| **日期处理** | DateUtils | formatDate | Date date, String pattern | String | 格式化日期 |
| | | parseDate | String dateStr, String pattern | Date | 解析日期字符串 |
| **泛型操作** | GenericsUtils | getGenericClass | Class<?> clazz | Class<?> | 获取泛型类 |
| | | getGenericType | Field field | Class<?> | 获取字段的泛型类型 |
| **IO操作** | IoUtils | toByteArray | InputStream input | byte[] | 输入流转字节数组 |
| | | toString | InputStream input, String charsetName | String | 输入流转字符串 |
| **数字处理** | NumberUtils | toInt | String str, int defaultValue | int | 字符串转int,转换失败返回默认值 |
| | | toLong | String str, long defaultValue | long | 字符串转long,转换失败返回默认值 |
| **布尔处理** | BooleanUtils | isTrue | Boolean bool | boolean | 判断是否为true |
| | | isFalse | Boolean bool | boolean | 判断是否为false |
| **序列化** | SerializeUtils | serialize | Object object | byte[] | 对象序列化为字节数组 |
| | | deserialize | byte[] bytes | Object | 字节数组反序列化为对象 |
## 使用示例代码
```java
// 字符串工具类使用示例
if (StringUtils.isBlank(user.getName())) {
throw new RuntimeException("用户名不能为空");
}
// 集合工具类使用示例
if (CollectionUtils.isNotEmpty(userList)) {
userList.forEach(System.out::println);
}
// Lambda工具类使用示例
String columnName = LambdaUtils.getColumnName(User::getUserName);
System.out.println("数据库列名:" + columnName);
// 条件构造器使用示例
LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery(User.class)
.eq(User::getStatus, 1)
.like(User::getName, "张")
.orderByDesc(User::getCreateTime);
// 获取ID
long id = IdWorker.getId();
String uuid = IdWorker.get32UUID();
// 日期格式化
String dateStr = DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");
// 反射获取字段值
Object fieldValue = ReflectionKit.getFieldValue(user, "userName");
// 异常处理
if (errorCondition) {
throw ExceptionUtils.mpe("操作失败", new RuntimeException("原因"));
}
```
## 主要特点总结
1. **代码简化**:大量静态方法,一行代码完成常见操作
2. **类型安全**:特别是Lambda相关工具类,编译期检查
3. **空值安全**:所有工具类都考虑null值情况
4. **性能优化**:内部实现经过优化,避免重复计算
5. **兼容性好**:与MyBatis、Spring等框架良好兼容
这个表格涵盖了MyBatis-Plus中最常用和最重要的工具类方法,帮助开发者快速查找和使用。
- 环境配置
- window怎么配置java环境变量?
- SQL学习
- 字段类型
- 1、 所有可声明的字段类型
- 2、常用的可声明的字段类型
- 创建表和表内字段
- 1、整个创建表语句
- 2、设置id主键
- 3、设置业务主键,唯一索引
- 4、设置业务字段
- 5、普通索引
- 6、唯一索引与普通索引的区别
- 7、表的引擎、字符集、排序规则和注释的设置
- Java基础语法
- 数据类型
- Java中的数据类型
- LocalDate
- 常用的数据类型
- Java 常用数据类型方法
- Java中数组、list、Map、HashMap
- 如何用Map来优化那些复杂的“双重 for 循环”查询?
- Java 8 中steam()操作流
- Java中HashMap和JSON
- Java中的JSONObject
- 工具类
- Java 常用工具类
- Arrays工具类
- Java 时间工具类
- 泛型
- Java中泛型概念
- Java中的泛型容器
- 泛型参数与函数参数的区别
- 推断出泛型实参
- Lambda表达式
- 数据分层
- 异常处理
- Java8 异常处理类总结表
- MyBatis-Plus 常用异常类总结表
- Java高级特性
- Maven
- jib-maven-plugin
- 什么是Spring Boot 的 parent pom?
- maven中各个生命周期的含义
- Spring Boot
- maven与spring boot 的关系
- Java中的连接池
- Spring JDBC
- Spring JDBC的概念
- JdbcTemplate常用的方法
- Spring中Bean的概念
- Spring中的抽象,通俗解释一下
- Spring中的事物
- Spring中的事物,通俗解释一下
- Spring中的事物抽象,常见的有哪些,列举一下
- Spring中常用的事物场景有哪些,列举一下
- Spring事务管理有哪些注解?
- Spring中使用事物处理订单的案例,列举说明一下
- Spring中声明式事务、分布式事务以及编程式事务的区别,列举一下
- 配置文件
- application-properties配置文件
- Spring Boot 的启动
- spring boot项目如何启动?
- 列举一下Spring Boot的启动过程
- SpringApplication.run方法
- Spring Boot 启动时有哪些接口?
- CommandLineRunner
- Spring Boot 的常用注解
- 系统注解
- 表格:系统注解
- @Override
- @Deprecated
- @SuppressWarnnings
- 使用在类名上的注解
- 表格:使用在类名上的注解
- @RestController
- @Controller
- @Service
- @Repository
- @Component
- @Configuration
- @Resource
- @Autowired
- @RequestMapping
- @GetMapping
- @PostMapping
- @Transactional
- @Qualifier
- 使用在方法上的注解
- 表格:使用在方法上的注解
- @RequestBody
- @PathVariable
- @Bean
- @ResponseBody
- @PreAuthorize
- 其他常用注解
- 表格:其他常用注解
- @EnableAutoConfiguration
- @SpringBootApplication
- @EnableScheduling
- @EnableAsync
- @ComponentScan
- @Aspec
- @ControllerAdvice
- @ExceptionHandler
- @Value
- @ConfigurationProperties
- @EnableConfigurationProperties
- @MapperScan
- @ApiOperation
- @Produces
- Validator验证的常用注解
- spring IoC容器
- Spring IoC容器依赖注入实现方式
- 常用依赖
- RESTEasy
- resteasy简介
- RESTEasy框架(依赖)的功能和常用注解
- MyBatis
- 简介
- paginationInterceptor
- @TableName
- @TableId
- @Param
- MyBatis-Plus
- MyBatis-Plus简介
- MyBatis-Plus的工具类
- Mybatis-Plus扩展的工具类和方法
- MyBatis-Plus中最常用的工具类方法
- MyBatis-Plus 中最常用的 4 大核心工具类
- Wrapper条件构造器
- Wrapper条件构造器详解
- Wrapper条件构造器eq等方法的参数说明
- LambdaQueryWrapper与QueryWrapper
- 日期格式是否必须转换
- Lombok
- Lombok作用详解
- @Data
- @Slf4j
- @Builder
- @EqualsAndHashCode
- @Accessors
- Jackson
- Jackson简介
- @JsonFormat
- Jackson高效地在 HashMap 和 JSON 字符串之间进行相互转换
- Hutool
- Hutool简介
- hutool依赖常用的方法
- fastjson2
- fastjson2简介
- UrlBasedCorsConfigurationSource
- 生态相关
- JBoss 社区
- 支付系统
- 1. 初始化mysql数据库流程
- 2. 初始化redis数据库的流程
- 3. 初始化rabbitmq服务
- 环球置业
- 1.模块目录结构分析
- 2. DTO(数据传输层)的核心作用
- 3. VO(视图对象层)
- 4. VO(视图对象层)和 DTO 数据传输层 的区别
