Java 方法填充。请注意,此版本的方法采用两个参数,一个ResultSet句柄和ResultSet对象中开始检索行的行 CachedRowSet crs = new CachedRowSetImpl(); crs.setMaxRows(20); crs.setPageSize(4); crs.populate(rsHandle, 10);

Java 方法填充。请注意,此版本的方法采用两个参数,一个ResultSet句柄和ResultSet对象中开始检索行的行 CachedRowSet crs = new CachedRowSetImpl(); crs.setMaxRows(20); crs.setPageSize(4); crs.populate(rsHandle, 10);,java,jsp,jdbc,Java,Jsp,Jdbc,当此代码运行时,crs将由rsHandle中的四行(从第十行开始)填充 在类似的路径上,您可以建立一种策略,在JSP上对数据进行分页等等。U为每个页面显示建立了一个DB连接?mySQL的连接速度非常快,但是如果考虑性能,您也可以拥有一个DB连接池,所以是的,每个页面都有一个DB连接,尤其是因为你不知道下一页移动到前多久。 CREATE PROCEDURE Objects_GetPaged ( @sort VARCHAR(255), @Page INT, @RecsPerP

当此代码运行时,crs将由rsHandle中的四行(从第十行开始)填充


在类似的路径上,您可以建立一种策略,在JSP上对数据进行分页等等。

U为每个页面显示建立了一个DB连接?mySQL的连接速度非常快,但是如果考虑性能,您也可以拥有一个DB连接池,所以是的,每个页面都有一个DB连接,尤其是因为你不知道下一页移动到前多久。
CREATE PROCEDURE Objects_GetPaged
(
    @sort VARCHAR(255),
    @Page INT,
    @RecsPerPage INT,
    @Total INT OUTPUT
)
AS
SET NOCOUNT ON

--Create a temporary table
CREATE TABLE #TempItems
(
    id INT IDENTITY,
    memberid int
)

INSERT INTO #TempItems (memberid) 
SELECT Objects.id 
FROM Objects
ORDER BY CASE @sort WHEN 'Alphabetical' THEN Objects.UserName ELSE NULL END ASC,
         CASE @sort WHEN 'Created'      THEN Objects.Created ELSE NULL END DESC,
         CASE @sort WHEN 'LastLogin'    THEN Objects.LastLogin ELSE NULL END DESC


SELECT @Total=COUNT(*) FROM #TempItems

-- Find out the first and last record we want
DECLARE @FirstRec int, @LastRec int
SELECT @FirstRec = (@Page - 1) * @RecsPerPage
SELECT @LastRec = (@Page * @RecsPerPage + 1)


SELECT *
FROM #TempItems 
INNER JOIN Objects ON(Objects.id = #TempItems.id)
WHERE #TempItems.ID > @FirstRec AND #TempItems.ID < @LastRec
ORDER BY #TempItems.Id
// get a ResultSet from some query
ResultSet results = ...
if (count > 0) {
    results.setFetchSize(count + 1);
    results.setFetchDirection(ResultSet.FETCH_FORWARD);
    results.absolute(count * beginIndex);
}
for (int rowNumber = 0; results.next(); ++rowNumber) {
    if (count > 0 && rowNumber > count) {
        break;
    }
// process the ResultSet below
...
}
CachedRowSet crs = new CachedRowSetImpl();
crs.setMaxRows(20);
crs.setPageSize(4);
crs.populate(rsHandle, 10);