SSM框架,mybatis检索异常如果返回一个List,size是0

pujitan978 2019-03-14 04:48:47
一个webservice,数据库执行异常的场合(数据不整合,字段不匹配等),在service层如何返回一个 size是0的list呢

public List<testOrder> queryAllByCode(String codes) {
try{
List<ErpMaterial> emlist = erpMaterialMapper.queryAllByCode(paramsMap);
}catch(exception e){
//log输入出
}
return emlist;
}
...全文
575 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LighBlade 2019-03-22
  • 打赏
  • 举报
回复
数据库执行异常的场合(数据不整合,字段不匹配等) 这种类型的异常有个统一的名字: 系统异常(非业务异常) 这类异常不应该 业务捕获并处理, 也就是 开发功能时不应该 也不需要考虑这些异常 通常处理,封装共通的异常处理类 对于系统异常,统一打印 errorlog,交由系统运维人员处理 对前端,统一抛出 类似消息:抱歉,系统异常,请联系系统管理员xxxx!
cp525299 2019-03-21
  • 打赏
  • 举报
回复
public List<testOrder> queryAllByCode(String codes) { List<ErpMaterial> emlist; try{ emlist = erpMaterialMapper.queryAllByCode(paramsMap); }catch(exception e){ emlist = new ArrayList(ErpMaterial); } return emlist; }
cp525299 2019-03-21
  • 打赏
  • 举报
回复
public List<testOrder> queryAllByCode(String codes) { try{ List<ErpMaterial> emlist = erpMaterialMapper.queryAllByCode(paramsMap); }catch(exception e){ emlist = new ArrayList(ErpMaterial); } return emlist; }
  • 打赏
  • 举报
回复
好像你入参应该是codes吧,另外先new出来,直接接收查询返回的值就行了,如果有,就是查询的值,如果没有就是一个长度为0的list集合 public List<testOrder> queryAllByCode(String codes) { List<ErpMaterial> emlist = new ArrayList(ErpMaterial); try{ emlist = erpMaterialMapper.queryAllByCode(codes); }catch(exception e){ //log输入出 } return emlist; }
  • 打赏
  • 举报
回复
public List<testOrder> queryAllByCode(String codes) { List<ErpMaterial> emlist = new ArrayList(ErpMaterial); try{ emlist = erpMaterialMapper.queryAllByCode(paramsMap); return emlist; }catch(exception e){ //log输入出 return emlist(); } }
zhiluan7665 2019-03-19
  • 打赏
  • 举报
回复
这样就可以了。 public List<testOrder> queryAllByCode(String codes) { List<ErpMaterial> emlist = new ArrayList(ErpMaterial); try{ List<ErpMaterial> emlist = erpMaterialMapper.queryAllByCode(paramsMap); }catch(exception e){ //log输入出 } return emlist; }
akxj2022 2019-03-14
  • 打赏
  • 举报
回复
数据库执行后如果没有查询到记录,应该是返回null 想返回大小是0的集合,把list初始化以下就可以了

        public List<testOrder> queryAllByCode (String codes){
            try {
                List<ErpMaterial> emlist = erpMaterialMapper.queryAllByCode(paramsMap);
                if (CollectionUtils.isEmpty(emlist)) {
                    emlist = new ArrayList<>();
                }
            } catch (exception e) {
                //log输入出
            }
            return emlist;
        }
931828653 2019-03-14
  • 打赏
  • 举报
回复
你这不是已经很明确了吗,捕获异常,如果有异常的话,就new 一个新的list

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧