首页SEO优化网站建设趣事分享SEM教程常用代码下载网站建设模板网站设计PHP教程Premiere Pro教程建站教程网站优化JavaScript教程图集登录 / 注册

springboot java.util.NoSuchElementException: No value present 异常处理

当通过jpa通过id查询时,使用 findById(id).get(),当id不存在当,也就是数据库没有对应当id数据时,就回报上面当异常

后来查看源码,发现:

public T get() {
     if (value == null) {
           throw new NoSuchElementException("No value present");
     }
     return value;
 }
也就是说当查不到值的时候,jpa统一处理为抛异常,所以每次取之前都要判断有没有数据,后来发现了这个

public boolean isPresent() {
        return value != null;
 }
于是代码就这样写

Optional<T> optionalT = orderDetailRepository.findById(id);
return optionalT.isPresent() ? optionalT.get(): null;
截图

评论 0

评论功能暂未开放