Java如何限制MySQL查询结果?

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>

以上是 Java如何限制MySQL查询结果? 的全部内容, 来源链接: utcz.com/z/321407.html

回到顶部