Mybatis-Plus
扩展, 目标是实现更大程度的简化开发文档暂未补全,详见示例工程 mybatis-plus-ext-examples
扩展项:
4.条件注解
- 新增
@Select
注解
ApiResult
PageResult
EntityFactory
抽象EntityMapper
抽象
支持链式操纵
QueryOrderSelector
QueryPageSelector
QuerySelector
-
用于实现对
qw.set(...)
的扩展 -
实现
thiz
方法用于获取Wrapper
自身对象, 以实现模板化代码-
通过回调函数实现模板代码块, 给开发者更高的自由度
-
new LambdaUpdateWrapperExt<Hello>().thiz((qw)->{ // 模板代码 }).eq(Hello::getId(), 1L); // ------------------------------------------------ new LambdaUpdateWrapperExt<Hello>().thiz((qw)->{ qw.set(Hello::getName(), "hello"); }).eq(Hello::getId(), 1L);
-
-
DynamicSelect
允许开发者通过查询对象 实现动态select
字段 -
注意
- 在使用的过程中一点要注意
SQL
安全
- 在使用的过程中一点要注意
-
推荐
-
在内部调用的时候使用,能非常明确
select
的字段是安全的情况下使用 -
// 实例 public class Hello { // 通常该字段可以对前端隐藏 // 由开发者在安全的情况下填充 @DynamicSelect private Set<String> fields = new HashSet<>(); }
-
-
不推荐
- 该字段接受前端请求
新增
thiz
方法在原有
xxxIfPresent
方法的基础上,重写了xxx
原方法-> 其目的是为了统一获取
this
实例对象(XxxWrapperExt)-> 不重写, 返回的是
XxxWrapper
实例对象
LambdaQueryWrapperExt
QueryWrapperExt
更新
mybatis-plus
版本至3.5.2
v2.7.5
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports