JDBC ResultSet总行 - java

我正在我的应用程序中实现分页。为此,我运行查询并获取ResultSet。
现在,我想获得此ResultSet中用于分页计算的记录总数。
我怎么能得到这个?我不想执行额外的SQL,而这会给我总行数。

参考方案

另一个选择是将计数聚合添加为查询中的子查询列。如果您的数据库有点聪明,它将只执行一次。您应该能够使用自己喜欢的数据库中的查询分析器轻松地检查这一点。

SELECT id,username,(SELECT COUNT(id) FROM users) FROM users;

Java:在PreparedStatement(JDBC)中将null传递为long - java

我有一个变量是Long val = null; 而且我正在寻找一种将其传递给PreparedStatement语句对象的方法,以便将数据库中的字段值设置为null。statement.setLong(1,val); 它对Long无效,而对Long则无效。任何输入的想法或建议。谢谢 !!! 参考方案 您应该使用setNull method。statement.…

用Java构建大批量数据处理工具 - java

Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。 3年前关闭。 Improve this question 我正在尝试使用Java构建ETL工具。 ETL工具用于对大量数据(关系型和其他类型)进行批量读取,…

自动更新多个行 - java

我需要执行选择,然后以原子方式更新ResultSet中的某些行。我正在使用的代码如下所示(简化):stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); rs = stmt.executeQuery("SELECT ...�…

JDBC oracle钱包连接 - java

我在使用oracle钱包作为密码存储库将Java应用程序连接到oracle数据库时遇到问题。为了找出问题,我制作了一个小小的Main类,如下所示:public static void main(String[] args) { Connection conn; try { Class.forName("oracle.jdbc.driver.Orac…

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …