使用公共字段填充,在插入或者更新的时候为指定字段赋予指定的值,统一对这些字段进行处理,避免了重复代码
时间: 2024-06-11 22:10:05 浏览: 9
的编写,同时也提高了代码的可读性和可维护性。
例如,在一个购物网站中,有多个实体类需要存储用户的信息,如用户个人信息、用户收货地址、用户订单等等。这些实体类中都包含了一些公共字段,如用户ID、创建时间、更新时间等等。如果每次插入或更新这些实体类时都需要手动填充这些公共字段,就会导致代码重复且难以维护。
为了解决这个问题,可以使用公共字段填充的方式,将这些公共字段的填充逻辑封装起来,并在需要的时候进行调用。具体实现方式可以使用拦截器、AOP、基类等方式,根据具体情况选择合适的方式进行实现。
使用公共字段填充的好处不仅在于简化代码,还可以提高代码的可读性和可维护性。通过统一的处理方式,可以确保所有实体类中的公共字段都被正确填充,避免了因为疏漏导致的错误。同时,也方便了后续的维护和修改,减少了重复的工作。
相关问题
mybatis-plus 公共字段填充java代码
Mybatis-Plus提供了公共字段填充的功能,可以在插入和更新操作时自动填充公共字段,减少代码重复和出错的可能性。下面是Java代码实现公共字段填充的示例:
1. 创建公共字段填充器类
```java
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
// 插入时填充的字段
private static final String CREATE_TIME = "createTime";
private static final String UPDATE_TIME = "updateTime";
private static final String CREATE_BY = "createBy";
private static final String UPDATE_BY = "updateBy";
@Override
public void insertFill(MetaObject metaObject) {
// 填充创建时间和更新时间
this.strictInsertFill(metaObject, CREATE_TIME, LocalDateTime::now, LocalDateTime.class);
this.strictInsertFill(metaObject, UPDATE_TIME, LocalDateTime::now, LocalDateTime.class);
// 填充创建人和更新人
this.strictInsertFill(metaObject, CREATE_BY, "system", String.class);
this.strictInsertFill(metaObject, UPDATE_BY, "system", String.class);
}
@Override
public void updateFill(MetaObject metaObject) {
// 填充更新时间
this.strictUpdateFill(metaObject, UPDATE_TIME, LocalDateTime::now, LocalDateTime.class);
// 填充更新人
this.strictUpdateFill(metaObject, UPDATE_BY, "system", String.class);
}
}
```
2. 配置公共字段填充器
```java
@Configuration
public class MybatisPlusConfig {
@Autowired
private MyMetaObjectHandler metaObjectHandler;
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加公共字段填充器
List<MetaObjectHandler> metaObjectHandlers = new ArrayList<>();
metaObjectHandlers.add(metaObjectHandler);
interceptor.setMetaObjectHandlers(metaObjectHandlers);
return interceptor;
}
}
```
在以上示例中,我们创建了一个名为MyMetaObjectHandler的公共字段填充器类,实现了MetaObjectHandler接口,并在insertFill和updateFill方法中分别填充了创建时间、更新时间、创建人和更新人等公共字段。然后在MybatisPlusConfig中将MyMetaObjectHandler配置到MybatisPlusInterceptor中,作为公共字段填充器。这样,在执行插入和更新操作时,就会自动填充公共字段,无需手动设置,大大提高了开发效率和数据准确性。
使用Power query进行指定字段合并的时候,若指定的字段没有则生成一个空白字段
是的,使用 Power Query 进行指定字段合并的时候,若指定的字段没有,则会生成一个空白字段。在 Power Query 中,可以使用 Merge 操作将两个表格按照指定的字段进行合并。如果指定的字段在某个表格中不存在,则会自动添加一个空白字段,以保持两个表格的结构一致。在合并完成后,可以使用 Fill Down 操作将空白字段中的值填充为上一个非空单元格中的值,使得合并结果更加规整和易于使用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)