Java通过事件监听操作数据库

1. 添加事件

/**
 * 平台操作日志事件
 */
@Data
@AllArgsConstructor
public class LogPlatformOperEvent{
          
   
   //添加到数据库的实体 pojo
   private LogPlatformOper logPlatformOper;
}

2. 添加监听

/**
     * 添加平台操作日志
     *
     * @param event 事件
     */
    @Async
    @Order
    @EventListener(LogPlatformOperEvent.class)
    public void savePlatformOperLog(LogPlatformOperEvent event) {
          
   
        LogPlatformOper oper = event.getLogPlatformOper();
        //设置用户登录名
        PlatformUser platformUser = adminMapper.selectOne(Wrappers.<PlatformUser>lambdaQuery()
                .eq(PlatformUser::getId, oper.getUserId()).eq(PlatformUser::getIsDelete, 0));
        if (ObjectUtil.isNotNull(platformUser)) {
          
   
            oper.setLoginName(platformUser.getLoginName());
        } else {
          
   
            // 用户不存在
            throw new ParamException("用户不存在!");
        }
        oper.setId(snowflake.nextId()).setCreateTime(LocalDateTime.now());
        logPlatformOperMapper.insert(oper);
    }
经验分享 程序员 微信小程序 职场和发展