在 MyBatis 中,要實現根據 resultType 進行分頁查詢,你需要遵循以下步驟:
添加分頁參數:在你的查詢方法中,添加兩個分頁參數,一個表示當前頁碼(pageNum),另一個表示每頁顯示的記錄數(pageSize)。
修改 SQL 語句:在你的 SQL 查詢語句中,使用 LIMIT 和 OFFSET 關鍵字來限制查詢結果的范圍。LIMIT 用于設置每頁顯示的記錄數,OFFSET 用于設置查詢結果的起始位置。
在 MyBatis 配置文件中,為查詢方法添加 resultType 屬性,指定返回值類型。
以下是一個簡單的示例:
public class User {
private int id;
private String name;
private String email;
// 省略 getter 和 setter 方法
}
<mapper namespace="com.example.dao.UserMapper">
<select id="findUsersByPage" parameterType="map" resultType="com.example.entity.User">
SELECT * FROM user
LIMIT #{pageSize}
OFFSET #{offset}
</select>
</mapper>
public interface UserMapper {
List<User> findUsersByPage(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize);
}
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> findUsersByPage(int pageNum, int pageSize) {
Map<String, Object> params = new HashMap<>();
params.put("pageNum", pageNum);
params.put("pageSize", pageSize);
int offset = (pageNum - 1) * pageSize;
params.put("offset", offset);
return userMapper.findUsersByPage(params);
}
}
現在,你可以通過調用 findUsersByPage
方法來實現根據 resultType 進行分頁查詢。注意,這里的示例僅適用于支持 LIMIT 和 OFFSET 關鍵字的數據庫,如 MySQL、PostgreSQL 等。對于其他數據庫,你可能需要使用不同的分頁查詢語法。