MyBatis Plus で全データをページングして取得する方法は何ですか?
MyBatis-Plusで、PageHelperクラスを使用して全データのページング検索を実行することができます。
最初に、プロジェクトにMyBatis-Plusの依存関係を追加する必要があります。詳細は、MyBatis-Plus公式文書を参照してください:https://mybatis.plus/guide/quick-start.html#%E6%B7%BB%E5%8A%A0%E4%BE%9D%E8%B5%96。
その後、DAOインターフェースにページング検索メソッドを定義してください。例えば:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
public interface UserMapper extends BaseMapper<User> {
IPage<User> selectPageAll(Page<User> page);
}
次に、DAOインターフェースの実装クラスで、selectPageAllメソッドを呼び出し、Pageオブジェクトを渡す例を示します。
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> selectPageAll(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
return userMapper.selectPageAll(page);
}
}
最後に、Service クラス内で DAO インターフェースのメソッドを呼び出す。例如、:
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.demo.entity.User;
import com.example.demo.dao.UserDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public IPage<User> selectPageAll(int pageNum, int pageSize) {
return userDao.selectPageAll(pageNum, pageSize);
}
}
このように、selectPageAllメソッドを呼び出すと、ページネーションを使ったデータのすべてをクエリできるようになります。