天天看點

java.sql.SQLException: QueryRunner requires a DataSource to be invoked in this way, or a Connection

我在使用org.apache.commons.dbutils和c3p0操作資料庫時,報的錯,翻譯過來就是:

QueryRunner需要以這種方式調用資料源,或者需要傳遞連接配接

排查:

1、是否有資料源,即是否正常加載c3p0-config.xml檔案。

2、資料源是否傳遞給連接配接池。

最後,發現是在執行個體化QueryRunner時,未将ComboPooledDataSource對象傳遞給它。更正後代碼入下:

private QueryRunner qr = new TxQueryRunner(JdbcC3P0Utils.getDataSource());
           

TxQueryRunner是我對QueryRunner的重寫類。