zoukankan      html  css  js  c++  java
  • org.springframework.dao.EmptyResultDataAccessException

    public Wcrash getWcrashInfo(int id) {
            String sql = "select plateform_id,android_version,app_version_code,app_version_name,device_id,"
                    + "model,brand,product,stack_trace,crash_date,package_name from wcrash where id = ? ";
            return this.jdbcTemplate.queryForObject(
                    sql, 
                    new Object[]{id},
                    new RowMapper<Wcrash>(){
                        @Override
                        public Wcrash mapRow(ResultSet rs, int i) throws SQLException {
                            Wcrash wcrash = new Wcrash();
                            wcrash.setPlateformId(toNullStr(rs.getString("plateform_id")));
                            wcrash.setAndroidVersion(toNullStr(rs.getString("android_version")));
                            wcrash.setAppVersionCode(toNullStr(rs.getString("app_version_code")));
                            wcrash.setAppVersionName(toNullStr(rs.getString("app_version_name")));
                            wcrash.setDeviceId(toNullStr(rs.getString("device_id")));
                            wcrash.setModel(toNullStr(rs.getString("model")));
                            wcrash.setBrand(toNullStr(rs.getString("brand")));
                            wcrash.setProduct(toNullStr(rs.getString("product")));
                            wcrash.setStackTrace(toNullStr(rs.getString("stack_trace")));
                            wcrash.setCrashDate(toNullStr(rs.getString("crash_date")));
                            wcrash.setPackageName(toNullStr(rs.getString("package_name")));
                            return wcrash;
                        } 
                    });
        }

    异常信息:

    org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0
    at org.springframework.dao.support.DataAccessUtils.requiredSingleResult(DataAccessUtils.java:71)
    at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:729)

    queryForObject无记录时会抛出异常,而对于query()list的类型不会抛出此异常。解决方法就是捕获这个异常然后在catch中返回null就可以。修改代码如下:

    public Wcrash getWcrashInfo(int id) {
            String sql = "select plateform_id,android_version,app_version_code,app_version_name,device_id,"
                    + "model,brand,product,stack_trace,crash_date,package_name from wcrash where id = ? ";
            try{
                return this.jdbcTemplate.queryForObject(
                    sql, 
                    new Object[]{id},
                    new RowMapper<Wcrash>(){
                        @Override
                        public Wcrash mapRow(ResultSet rs, int i) throws SQLException {
                            Wcrash wcrash = new Wcrash();
                            wcrash.setPlateformId(toNullStr(rs.getString("plateform_id")));
                            wcrash.setAndroidVersion(toNullStr(rs.getString("android_version")));
                            wcrash.setAppVersionCode(toNullStr(rs.getString("app_version_code")));
                            wcrash.setAppVersionName(toNullStr(rs.getString("app_version_name")));
                            wcrash.setDeviceId(toNullStr(rs.getString("device_id")));
                            wcrash.setModel(toNullStr(rs.getString("model")));
                            wcrash.setBrand(toNullStr(rs.getString("brand")));
                            wcrash.setProduct(toNullStr(rs.getString("product")));
                            wcrash.setStackTrace(toNullStr(rs.getString("stack_trace")));
                            wcrash.setCrashDate(toNullStr(rs.getString("crash_date")));
                            wcrash.setPackageName(toNullStr(rs.getString("package_name")));
                            return wcrash;
                        } 
                    });
            }catch(EmptyResultDataAccessException e){
                return null;
            }
        }
  • 相关阅读:
    LeetCode 42. Trapping Rain Water
    LeetCode 209. Minimum Size Subarray Sum
    LeetCode 50. Pow(x, n)
    LeetCode 80. Remove Duplicates from Sorted Array II
    Window10 激活
    Premiere 关键帧缩放
    AE 「酷酷的藤」特效字幕制作方法
    51Talk第一天 培训系列1
    Premiere 视频转场
    Premiere 暴徒生活Thug Life
  • 原文地址:https://www.cnblogs.com/yshyee/p/3611746.html
Copyright © 2011-2022 走看看