在使用Apache commons DBCP包时,使用BasicDataSource.setValidationQuery(String query)
始终可以安全使用吗?
让我们考虑一下这段代码:
BasicDataSource bsd = new BasicDataSource();
bsd.setValidationQuery("SELECT 1;");
有没有保证新版本的Apache Commons DBCP会将此查询发送到数据库连接?如果更新版本,或者甚至mysql connector
将使用仅处理与永久数据库无关的SQL查询的小型内置SQL查询引擎,那么该怎么办(因此可能选择基本数据或使用临时表 。
如果是这样,什么是一个好的查询来确保它实际上会调用数据库?
我问这个是因为我在昨天使用MySQL客户端时遇到了这方面的经验,其中我正在基准测试像SELECT 1;
之类的非常简单的查询实际上根本不会被发送到数据库。< / p>