我在使用org.apache.commons.dbutils和c3p0操作資料庫時,報的錯,翻譯過來就是:
QueryRunner需要以這種方式調用資料源,或者需要傳遞連接配接
排查:
1、是否有資料源,即是否正常加載c3p0-config.xml檔案。
2、資料源是否傳遞給連接配接池。
最後,發現是在執行個體化QueryRunner時,未将ComboPooledDataSource對象傳遞給它。更正後代碼入下:
private QueryRunner qr = new TxQueryRunner(JdbcC3P0Utils.getDataSource());
TxQueryRunner是我對QueryRunner的重寫類。