AdPosition adPosition = Optional.ofNullable(adPositionMapper.selectByPrimaryKey(advertDto.getPositionId())) .orElseThrow(() -> new RuntimeException("Ad position not found"));改为不存在就使用sql语句插入数据。请示例
时间: 2024-02-28 19:52:46 浏览: 53
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
如果不存在对应的广告位置,可以使用以下代码插入数据:
```
AdPosition adPosition = adPositionMapper.selectByPrimaryKey(advertDto.getPositionId());
if(adPosition == null) {
AdPosition newPosition = new AdPosition();
newPosition.setId(advertDto.getPositionId());
newPosition.setPositionName("New Position");
adPositionMapper.insert(newPosition);
adPosition = newPosition;
}
```
这样,如果查询不到对应的广告位置,就会创建一个新的广告位置并插入到数据库中。注意,这里我假设你已经定义了 AdPosition 实体类,并且数据库中有对应的 ad_position 表。如果没有,请根据实际情况进行修改。
阅读全文