我在使用org.apache.commons.dbutils和c3p0操作数据库时,报的错,翻译过来就是:
QueryRunner需要以这种方式调用数据源,或者需要传递连接
排查:
1、是否有数据源,即是否正常加载c3p0-config.xml文件。
2、数据源是否传递给连接池。
最后,发现是在实例化QueryRunner时,未将ComboPooledDataSource对象传递给它。更正后代码入下:
private QueryRunner qr = new TxQueryRunner(JdbcC3P0Utils.getDataSource());
TxQueryRunner是我对QueryRunner的重写类。