Skip to content

Commit e416472

Browse files
author
hewei
committed
ModelColumnPlugin增加excludes方法
1 parent ba73f0a commit e416472

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,8 @@ public class Test {
346346
this.tbMapper.batchInsert(list);
347347
// !!!下面按需插入指定列(类似于insertSelective),需要数据Model属性对应Column获取插件(ModelColumnPlugin)插件
348348
this.tbMapper.batchInsertSelective(list, Tb.Column.field1, Tb.Column.field2, Tb.Column.field3, Tb.Column.createTime);
349+
// 或者排除某些列
350+
this.tbMapper.batchInsertSelective(list, Tb.Column.excludes(Tb.Column.id, Tb.Column.delFlag));
349351
}
350352
}
351353
```
@@ -427,6 +429,7 @@ public class Test {
427429
项目中我们有时需要获取数据Model对应数据库字段的名称,一般直接根据数据Model的属性就可以猜出数据库对应column的名字,可是有的时候当column使用了columnOverride或者columnRenamingRule时就需要去看数据库设计了,所以提供了这个插件获取model对应的数据库Column。
428430
* 配合Example Criteria 增强插件(ExampleEnhancedPlugin)使用,这个插件还提供了asc()和desc()方法配合Example的orderBy方法效果更佳。
429431
* 配合批量插入插件(BatchInsertPlugin)使用,batchInsertSelective(@Param("list") List<XXX> list, @Param("selective") XXX.Column ... insertColumns)。
432+
* 提供静态excludes方法来进行快速反选。
430433

431434
插件:
432435
```xml
@@ -481,6 +484,9 @@ public class Test {
481484
this.tbMapper.batchInsert(list);
482485
// 下面按需插入指定列(类似于insertSelective)
483486
this.tbMapper.batchInsertSelective(list, Tb.Column.field1, Tb.Column.field2, Tb.Column.field3, Tb.Column.createTime);
487+
488+
// 4. excludes 方法
489+
this.tbMapper.batchInsertSelective(list, Tb.Column.excludes(Tb.Column.id, Tb.Column.delFlag));
484490
}
485491
}
486492
```
@@ -607,6 +613,9 @@ public class Test {
607613
.build(),
608614
Tb.Column.field1
609615
);
616+
617+
// 3. 排除某些列
618+
this.tbMapper.insertSelective(tb, Tb.Column.excludes(Tb.Column.id, Tb.Column.delFlag));
610619
}
611620
}
612621
```
@@ -1075,6 +1084,15 @@ public class Test {
10751084
Tb.Column.field2
10761085
);
10771086
// 同理还有 selectByPrimaryKeySelective,selectOneByExampleSelective(SelectOneByExamplePlugin插件配合使用)方法
1087+
1088+
// 当然可以使用excludes
1089+
this.tbMapper.selectByExampleSelective(
1090+
new TbExample()
1091+
.createCriteria()
1092+
.andField1GreaterThan(1)
1093+
.example(),
1094+
Tb.Column.excludes(Tb.Column.id, Tb.Column.delFlag)
1095+
);
10781096
}
10791097
}
10801098
```

0 commit comments

Comments
 (0)