zoukankan      html  css  js  c++  java
  • mysql实现分页的几种方式

    mysql实现分页的几种方式:

    第一种:使用框架自带的pageable来进行分页

    package com.cellstrain.icell.repository.repositoryImpl;

    import com.cellstrain.icell.entity.LunBoTu;

    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import java.util.List;

    public class LunBoTuRepositoryImpl {

    @PersistenceContext
    private EntityManager entityManager;

    public List<LunBoTu> findTopThree(){
    StringBuffer sql = new StringBuffer("from LunBoTu lbt where 1=1 order by lbt.id desc");
    Query query = entityManager.createQuery(sql.toString());
    query.setFirstResult(0);
    query.setMaxResults(6);
    List<LunBoTu> lunbotuList = query.getResultList();
    return lunbotuList;
    }
    }

    第二种:使用limit关键字来进行分页

    public Page<News> FileDownloadByConditions(String condition, Pageable pageable) {
    StringBuffer sql = new StringBuffer("from news n left join newscategory c on n.newsCategoryId=c.id where c.id = 12 and ");
    if(!StringUtils.isEmpty(condition)){
    sql.append(" n.newsAuthor like '%"+condition+"%' or n.newsTitle like '%"+condition+"%' or c.categoryName like '%"+condition+"%' or n.roundup like '%"+condition+"%' and 1=1 ");
    }else{
    sql.append(" 1=1");
    }
    String fen_ye_sql = sql.toString() + " limit " + pageable.getOffset() + "," + pageable.getPageSize();
    Long total = jdbcTemplate.queryForObject("select count(*) " + sql.toString(), Long.class);
    List<News> newsList = null;
    try {
    newsList = jdbcTemplate.query("select n.*,c.categoryName " + fen_ye_sql.toString(), new BeanPropertyRowMapper(News.class));
    } catch (Exception e) {
    e.printStackTrace();
    }
    Page<News> page = new PageImpl(newsList, pageable, total);
    return page;
    }
  • 相关阅读:
    如何下载无水印的抖音视频?
    @valid和自定义异常
    Centos7查看外网ip,yum安装的curl无法正常使用
    ElasticSearch安装
    Redis的主从架构+哨兵模式
    Redis的持久化方式
    Nacos 注册中心集群搭建
    kafka安装流程
    WinUI 3学习笔记(1)—— First Desktop App
    .NET 5学习笔记(12)——WinUI 3 Project Reunion 0.5
  • 原文地址:https://www.cnblogs.com/qianzf/p/6781670.html
Copyright © 2011-2022 走看看