1. 程式人生 > >java.sql.SQLException: QueryRunner requires a DataSource to be invoked in this way, or a Connection

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的重寫類。