• 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;
    }
  • 相关阅读:
    Chaikin Curves in Processing
    finalize()方法什么时候被调用?析构函数(finalization)的目的是什么?
    System.gc()和Runtime.gc()的区别?
    GC原理---对象可达判断
    java十题
    在 Queue 中 poll()和 remove()有什么区别?
    ArrayList和LinkedList的区别
    HashSet的实现原理
    Java中HashMap和TreeMap的区别
    List、Map、Set之间的联系与区别:
  • 原文地址:https://www.cnblogs.com/qianzf/p/6781670.html
Copyright © 2020-2023  润新知