使用 JDBC 从表中选择前 N 行的通用方法
Posted
技术标签:
【中文标题】使用 JDBC 从表中选择前 N 行的通用方法【英文标题】:Generic way to select top N rows from table using JDBC 【发布时间】:2019-08-22 12:21:27 【问题描述】:我想从 sql-server 中选择前 n 行
SELECT TOP 10 * FROM CUSTOMER;
--> n 应该是可配置的
如何使用 JDBC 做到这一点? 我应该写一份准备好的声明并提供吗?而不是 10? 还是我应该构造 SQL 字符串并像普通语句一样执行它?
我只想知道是否有提供动态 FETCH LIMIT(通常是配置值)的事实上的选择
【问题讨论】:
您在寻找Statement.setMaxRows()
吗?
您是否要构建一个查询,告知 TOP 语句的编号?
【参考方案1】:
我建议像这样使用 Pageable 和 JPA 参考https://www.baeldung.com/jpa-limit-query-results
Page<Passenger> page = repository.findAll(PageRequest.of(0, 1, Sort.by(Sort.Direction.ASC, "seatNumber")));
【讨论】:
以上是关于使用 JDBC 从表中选择前 N 行的通用方法的主要内容,如果未能解决你的问题,请参考以下文章
从表中选择不同的记录并执行重复行的列总和(托盘、总和)。并显示重复的行一次[关闭]