NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# 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中最常用和最重要的工具类方法,帮助开发者快速查找和使用。