Bản thân tôi sử dụng lựa chọn thứ hai của bạn với LIMIT trong truy vấn sql.
Nhưng có nhiều phương pháp hỗ trợ phân trang bằng cách sử dụng lớp RowBounds. Điều này được mô tả kỹ trong tài liệu mybatis tại đây
Hãy chú ý đến loại tập hợp kết quả chính xác để sử dụng.