SqlRunner runner=new SqlRunner(connection);

try (Connection connection=this.jdbcDataSource.getJdbcConnection(this.devId)){
StringBuffer sql=new StringBuffer();
sql.append("select to_char(wm_concat(COLUMN_NAME)) KEY_NAME from user_cons_columns\n");
sql.append("\nwhere constraint_name = (\nselect constraint_name from user_constraints\n");
sql.append("\n where table_name = ? and constraint_type ='P')");

    SqlRunner runner=new SqlRunner(connection);
        final List<Map<String, Object>> map = runner.selectAll(sql.toString(), tableName);
        return map.get(0).get("KEY_NAME").toString();
    }catch (SQLException e){
        throw new CaptchaException("獲取"+tableName+"表主鍵失敗");
    }

final String sql = "select count(1) as COUNT from user_tables";
try (Connection connection=jdbcDataSource.getJdbcConnection(this.devId)){

        final SqlRunner sqlRunner=new SqlRunner(connection);
        final Map<String, Object> map = sqlRunner.selectOne(sql);
        num=Integer.parseInt(map.get("COUNT").toString());

    } catch (SQLException e) {
        throw new CaptchaException("數(shù)據(jù)庫查詢數(shù)量異常");
    }
    if (num<=0){
        num=0;
    }
    return num;

selectOne底層調用的是selectAll
用那個selectOne 如果查出來為空,然后直接.toString() 則可能會報錯
那什么情況下用 selectOne 什么情況下用selectALL
你肯定查出來的結果不是null然后只有一條就可以用One
例如select count(1) from test

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容