package org.nhooo.example.jdbc; import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class SqlLimitExample { private static final String URL = "jdbc:mysql://localhost/nhooo"; private static final String USERNAME = "root"; private static final String PASSWORD = ""; public static void main(String[] args) { try (Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD)) { // 创建PreparedStatement以从数据库获取所有数据。 String query = "select count(*) from products"; PreparedStatement ps = connection.prepareStatement(query); ResultSet result = ps.executeQuery(); int total = 0; while (result.next()) { total = result.getInt(1); } System.out.println("Total number of data in database: " + total + "\n"); // 仅对前5条记录创建PreparedStatement。 query = "select * from products limit 5"; ps = connection.prepareStatement(query); result = ps.executeQuery(); System.out.println("Result fetched with specified limit 5"); System.out.println("===================================="); while (result.next()) { System.out.println("id:" + result.getInt("id") + ", code:" + result.getString("code") + ", name:" + result.getString("name") + ", price:" + result.getString("price")); } // 创建PreparedStatement以从第4个获取数据 // 记录(记住第一个记录为0)并受限制 // 到3条记录。 query = "select * from products limit 3, 3"; ps = connection.prepareStatement(query); result = ps.executeQuery(); System.out.println("\nResult fetched with specified limit 3, 3"); System.out.println("===================================="); while (result.next()) { System.out.println("id:" + result.getInt("id") + ", code:" + result.getString("code") + ", name:" + result.getString("name") + ", price:" + result.getString("price")); } } catch (SQLException e) { e.printStackTrace(); } } }
我们程序的示例结果是:
Total number of data in database: 9 Result fetched with specified limit 5 ==================================== id:1, code:P0000001, name:UML Distilled 3rd Edition, price:25.00 id:3, code:P0000003, name:PHP Programming, price:20.00 id:4, code:P0000004, name:Longman Active Study Dictionary, price:40.00 id:5, code:P0000005, name:Ruby on Rails, price:24.00 id:6, code:P0000006, name:Championship Manager, price:0.00 Result fetched with specified limit 3, 3 ==================================== id:5, code:P0000005, name:Ruby on Rails, price:24.00 id:6, code:P0000006, name:Championship Manager, price:0.00 id:7, code:P0000007, name:Transport Tycoon Deluxe, price:0.00
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency>