精华内容
下载资源
问答
  • 网站上看了别人写的博客,没咋看懂是怎么实现的,后来自己钻研了一下,看了很多文档,写个通俗易懂案例吧, 看代码: 测试方法 main方法里调用传入currentPage当前页 //查询所有留言talk分页 public void ...

    网站上看了别人写的博客,没咋看懂是怎么实现的,后来自己钻研了一下,看了很多文档,写个通俗易懂案例吧,
    看代码:

    测试方法

    main方法里调用传入currentPage当前页

    //查询所有留言talk分页
        public void selectForListByPage (int currentPage) throws IOException {
    
            SqlSession sqlSession = GetSqlSession.getSqlSession();
            TalkMapper mapper = sqlSession.getMapper(TalkMapper.class);
            //设置分页的起点和limit显示几条
            RowBounds rowBounds = new RowBounds((currentPage - 1) * 2, 2);
            List<Talk> talkList = mapper.selectForListByPage(rowBounds);//传入rowBounds 对象即可;
            System.out.println(talkList);
            if (sqlSession != null) {
                sqlSession.close();
            }
        }
    

    mapper接口:

    List<Talk> selectForListByPage (RowBounds rowBounds);//很简单吧
    

    talkmapper.xml接下来xml配置

    <select id="selectForListByPage" resultType="com.colin.bean.Talk">
            select * from talk
        </select>
    

    还没看懂的话,可以留言联系我!!
    希望你能学会哦,加油

    展开全文
  • 直接上代码: css部分代码 .pageCss { float: right; width: auto; height: 30px; line-height: 30px; margin-right: 10px;} .pageCss a { float: left; color: #000; margin...

    直接上代码:

    css部分代码

    .pageCss {
    float: right;
    width: auto;
    height: 30px;
    line-height: 30px;
    margin-right: 10px;
    }

    .pageCss a {
    float: left;
    color: #000;
    margin-left: 10px;
    text-decoration: none;
    }

    .pageCss span {
    float: left;
    margin-left: 10px;
    overflow: hidden;
    }

    .pageCss span font {
    font-size: 13px;
    font-weight: bold;
    }

    .txtManagePage {
    float: left;
    margin: 7px 0 0 10px;
    width: 38px;
    height: 14px;
    border: 1px solid #fff;
    }

    .pageGo {
    display: block;
    margin-top: 7px;
    width: 38px;
    height: 16px;
    text-align: center;
    line-height: 16px;
    border: 1px solid #fff;
    cursor: pointer;
    }

    text.aspx.cs 代码

    //定义的一些变量
    //int pageCount = 11;//每11行数据分为一页
    //public int supNum = 0;//总页数
    //int page = 1;//当前页数
    //public string paging = string.Empty;//这个主要用于前台绑定数据
    //第一步首先创建一个公用的方法

    public void GetPage(DataTable dt)
    {
    int rec = 0;
    if (dt != null)
    {
    rec = int.Parse(dt.Rows[0][0].ToString());
    if (rec < pageCount)
    {
    supNum = 1;
    }
    if (rec >= pageCount && rec % pageCount == 0)
    {
    supNum = rec / pageCount;
    }
    else
    {
    supNum = rec / pageCount + 1;
    }
    }
    string homePage = "<a href='?mp=1'>首页</a>";//首页
    string lastPage = "<a href='?mp=" + supNum + "'>末页</a>";//末页
    string back = string.Empty;
    //上一页
    if (page == 1)
    {
    back = "<span>上一页</span>";
    }
    else
    {
    back = "<a href='?mp=" + (page - 1) + "'>上一页</a>";
    }
    string next = string.Empty;
    //下一页
    if (page == supNum)
    {
    next = "<span>下一页</span>";
    }
    else
    {
    next = "<a href='?mp=" + (page + 1) + "'>下一页</a>";
    }
    paging = homePage + back + next + lastPage +
    //修改
    "<span>跳转到</span><input id='txtManagePage' type='text' class='txtManagePage' value='" + page + "' οnkeyup=\"this.value=this.value.replace(/\\D/g,'')\" /><span>页</span>" +
    "<span class='pageGo'>GO</span>" +
    "<span>当前第<font>" + page + "</font>页</span>" +
    "<span>共<font>" + supNum + "</font>页</span>" +
    "<span>共<font>" + rec + "</font>条数据</span>" +
    "<span>本页显示<font>" + pageCount + "</font>条数据</span>";
    }

     

    这里的mp的意思是:获取跳转页数。

    在 protected void Page_Load(object sender, EventArgs e)

    {

    if (Request.QueryString["mp"] != null)
    {
    page = int.Parse(Request.QueryString["mp"]);
    }

    注意要类型转化。

    }

     text.aspx 部分

    <div class="pageCss">
    <%=paging %>
    </div>

    前台调用方法。

    js部分:

    //跳转分页
    $(".pageGo").click(function () {
    var txtPage = $("#txtManagePage").val();
    //获取当前输入的页数
    var supNum = '<%=supNum%>';
    //获取总页数现在我们来判断一下
    if (txtPage > supNum) {
    txtPage = supNum;
    }
    if (txtPage < 1) {
    txtPage = 1;
    }
    window.location.href = "alimama_browse.aspx?mp=" + txtPage;
    });

    其实最核心的是查询代码:(如下:在查询中写入即可)

    select top " + pageCount + " * from tb_text where alimama_Id not in(select top " + (page - 1) * pageCount + " alimama_Id from tb_text order by alimama_Id desc) order by alimama_Id desc

    这条语句有个好处:

    1.前面用*,子查询中用id.加快查询速度

    分页调用如下:

    GetPage(sqlhelper.publicFun("select count(alimama_Id) from tb_text"));

     

    转载于:https://www.cnblogs.com/tuoxiong/p/5944541.html

    展开全文
  • 下面的代码是只实现了最后一个的数据库,尚未实现前两个 怎么样写才能让所有的GridView能正确读取数据库并且分页,求大神进 protected void NozzleDgvRequests_PageIndexChanging(object sender, ...
  • JAVA项目中的真分页与假分页代码怎么写~我要具体的代码 麻烦帮下忙~不知道你的真假神马意思... 假分页是都从数据库取出来了,只不过加载了部分? 真分页是每次确实取那么多数据? 你可以试试在搜索输入 分页 源码.. ...

    JAVA项目中的真分页与假分页的代码怎么写~

    我要具体的代码 麻烦帮下忙~

    不知道你的真假神马意思... 假分页是都从数据库取出来了,只不过加载了部分? 真分页是每次确实取那么多数据? 你可以试试在搜索输入 分页 源码.. csdn,itype 或者博客园都有的.. 呵呵 希望你可以真分页哈..

    53549e2f422dd4f222bbac353b6d293a.png

    怎样辨别java代码真分页和假分页辨别java代码真分页和假分页: 看查询的SQL语句,如果一次 取全部数据,就是假分页,如果SQL语句是取每页的数据条数,就是真分页。

    真分页 就是针对不同的数据库每次取特定的记录数假分页就是先把数据库的数据全取出来。

    java代码如何实现分页功能。。。。请高手帮忙你用的是什么数据库mysql的话有个limit语句可以分页。

    实现原理很简单,就是建立一个Page类,里面放当前访问的页数和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。 总页数 = 总记录数/每页大小,如果0。=总记录数%每页大小,那么总页数再+1。 当前页数。 表记录的起始位置=(当前页数-1)

    Java中实现分页效果的详细代码

    分页显示有几中 一种是把数据保存到session里面 然后分页显示 还有就是每次都从数据库获得一次 等等还有很多方法的 分页显示没有固定模式 方法多多

    怎样用java实现分页显示

    java面试的时候问到如何实现分页?

    用SSH写分页,很快的。不画页面代码5分钟搞定,加页面总共10分钟。页面不需要一句小脚本。 我只讲思路。新建一个PageBean类,封装7个属性。即总页数,每页数据显示条数的大小,上一页,下一页,当前页,总数据条数,和一个List集合。

    展开全文
  • 3.hbase分页代码与sql分页代码有什么区别和联系? 一、hbase分页应用场景: 一、应用场景 hbase到底需不需要分页,hbase的数据量肯定不少,肯定是需要分页的。很多人认为数量量如此大,怎么会展示。这个从...
    可以带着下面问题来阅读
    1.hbasef分页什么情况下比较有用?
    2.hbase分页的思路是什么?
    3.hbase分页代码与sql分页代码有什么区别和联系?

    一、hbase分页应用场景:


    一、应用场景
    hbase到底需不需要分页,hbase的数据量肯定不少,肯定是需要分页的。很多人认为数量量如此大,怎么会展示。这个从客户角度来讲,我们做的系统,不可能会给机器看的。这里面我们可以对其进行统计分析,这样利于我们决策。
    比如我们:平台中有一个场景是要做用户历史订单数据的查询,并且需要支持分页。这里只是举了一个场景,后面大家可以根据自己的经验。下面给大家讲讲分页的思路。





    二、hbase分页思路:

    hbase通过scan来扫描表,通过startKey,stopKey来确定范围,hbase官方提供了一个PageFilter来支持一次scan可以返回多少条数据即每页的行数。假如一页是10条,这样是第一页还好,但是第二页呢,如果不改变PageFilter的pageSize,那返回的还是第一页的数据,如果改变pageSize为20,则返回了第一页10多余的数据,在客户端要过滤掉,性能不好。那怎么办呢,方法就是在查询下一页时,指定下一页的startKey,这样PageFilter每次就不会返回多余的记录,stopKey可以不用变,那现在问题是,怎么得到下一页的startKey(即下一页第一行的rowkey)呢?,有两种方法来取每一页的startKey

    1.  上一页的最后一行记录的rowkey作为下一页的startKey。
    2.   在每次scan时多取一条记录,即把下一页第一条行页取出来,把该行的rowkey做为下一页的startKey。

    这两种方法,都要注意,hbase scan时是包含startKey的,如果是采用第一种,则要在记录多取一条,排除第一条。第二种页是多取一条,但是排除最后一条,用来做下一页的startKey。还有需要注意的是在计算是否有下一页时,可以根据返回的条数来判断。

    startKey怎么取没有问题了。但是怎么存储呢,有同学可能会想到存到session,但是如果你的服务是rest api型的,就没有session的概念了。那还有两种选择:
    1. 是存到客户端,让客户端每次请求时把startKey再传回来,这样需要依赖客户端,如果客户端是远程,或者是开放平台的情况下,可能不合适。
    2. 存在服务端,存在服务端需要注意并发访问的情况。比如scan同一个表,一个访问第2页,一个访问第3页,服务端就需要对每一个table的scan 存每一页的startKey,需要为同一个查询条件包含pageSize,因为pageSize不一样,startKey也会不一样,
    在服务crash情况下,从起后都从第一页开始。

    我自己是采用第二种方案,存在服务端.


    import java.io.IOException;
    import java.util.LinkedHashMap;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.commons.lang.StringUtils;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.HBaseConfiguration;
    import org.apache.hadoop.hbase.client.Get;
    import org.apache.hadoop.hbase.client.HTableInterface;
    import org.apache.hadoop.hbase.client.HTablePool;
    import org.apache.hadoop.hbase.client.Result;
    import org.apache.hadoop.hbase.client.ResultScanner;
    import org.apache.hadoop.hbase.client.Scan;
    import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
    import org.apache.hadoop.hbase.filter.Filter;
    import org.apache.hadoop.hbase.filter.FilterList;
    import org.apache.hadoop.hbase.filter.FirstKeyOnlyFilter;
    import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
    import org.apache.hadoop.hbase.util.Bytes;
    
    public class HBaseUtils {
            private static Configuration config = null;
            private static HTablePool tp = null;
            static {
                    // 加载集群配置
                    config = HBaseConfiguration.create();
                    config.set("hbase.zookeeper.quorum", "xx.xx.xx");
                    config.set("hbase.zookeeper.property.clientPort", "2181");
                    // 创建表池(可伟略提高查询性能,具体说明请百度或官方API)
                    tp = new HTablePool(config, 10);
            }
    
            /*
             * 获取hbase的表
             */
            public static HTableInterface getTable(String tableName) {
    
                    if (StringUtils.isEmpty(tableName))
                            return null;
    
                    return tp.getTable(getBytes(tableName));
            }
    
            /* 转换byte数组 */
            public static byte[] getBytes(String str) {
                    if (str == null)
                            str = "";
    
                    return Bytes.toBytes(str);
            }
    
            /**
             * 查询数据
             * @param tableKey 表标识
             * @param queryKey 查询标识
             * @param startRow 开始行
             * @param paramsMap 参数集合
             * @return 结果集
             */
            public static TBData getDataMap(String tableName, String startRow,
                            String stopRow, Integer currentPage, Integer pageSize)
                            throws IOException {
                    List<Map<String, String>> mapList = null;
                    mapList = new LinkedList<Map<String, String>>();
    
                    ResultScanner scanner = null;
                    // 为分页创建的封装类对象,下面有给出具体属性
                    TBData tbData = null;
                    try {
                            // 获取最大返回结果数量
                            if (pageSize == null || pageSize == 0L)
                                    pageSize = 100;
    
                            if (currentPage == null || currentPage == 0)
                                    currentPage = 1;
    
                            // 计算起始页和结束页
                            Integer firstPage = (currentPage - 1) * pageSize;
    
                            Integer endPage = firstPage + pageSize;
    
                            // 从表池中取出HBASE表对象
                            HTableInterface table = getTable(tableName);
                            // 获取筛选对象
                            Scan scan = getScan(startRow, stopRow);
                            // 给筛选对象放入过滤器(true标识分页,具体方法在下面)
                            scan.setFilter(packageFilters(true));
                            // 缓存1000条数据
                            scan.setCaching(1000);
                            scan.setCacheBlocks(false);
                            scanner = table.getScanner(scan);
                            int i = 0;
                            List<byte[]> rowList = new LinkedList<byte[]>();
                            // 遍历扫描器对象, 并将需要查询出来的数据row key取出
                            for (Result result : scanner) {
                                    String row = toStr(result.getRow());
                                    if (i >= firstPage && i < endPage) {
                                            rowList.add(getBytes(row));
                                    }
                                    i++;
                            }
    
                            // 获取取出的row key的GET对象
                            List<Get> getList = getList(rowList);
                            Result[] results = table.get(getList);
                            // 遍历结果
                            for (Result result : results) {
                                    Map<byte[], byte[]> fmap = packFamilyMap(result);
                                    Map<String, String> rmap = packRowMap(fmap);
                                    mapList.add(rmap);
                            }
    
                            // 封装分页对象
                            tbData = new TBData();
                            tbData.setCurrentPage(currentPage);
                            tbData.setPageSize(pageSize);
                            tbData.setTotalCount(i);
                            tbData.setTotalPage(getTotalPage(pageSize, i));
                            tbData.setResultList(mapList);
                    } catch (IOException e) {
                            e.printStackTrace();
                    } finally {
                            closeScanner(scanner);
                    }
    
                    return tbData;
            }
    
            private static int getTotalPage(int pageSize, int totalCount) {
                    int n = totalCount / pageSize;
                    if (totalCount % pageSize == 0) {
                            return n;
                    } else {
                            return ((int) n) + 1;
                    }
            }
    
            // 获取扫描器对象
            private static Scan getScan(String startRow, String stopRow) {
                    Scan scan = new Scan();
                    scan.setStartRow(getBytes(startRow));
                    scan.setStopRow(getBytes(stopRow));
    
                    return scan;
            }
    
            /**
             * 封装查询条件
             */
            private static FilterList packageFilters(boolean isPage) {
                    FilterList filterList = null;
                    // MUST_PASS_ALL(条件 AND) MUST_PASS_ONE(条件OR)
                    filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
                    Filter filter1 = null;
                    Filter filter2 = null;
                    filter1 = newFilter(getBytes("family1"), getBytes("column1"),
                                    CompareOp.EQUAL, getBytes("condition1"));
                    filter2 = newFilter(getBytes("family2"), getBytes("column1"),
                                    CompareOp.LESS, getBytes("condition2"));
                    filterList.addFilter(filter1);
                    filterList.addFilter(filter2);
                    if (isPage) {
                            filterList.addFilter(new FirstKeyOnlyFilter());
                    }
                    return filterList;
            }
    
            private static Filter newFilter(byte[] f, byte[] c, CompareOp op, byte[] v) {
                    return new SingleColumnValueFilter(f, c, op, v);
            }
    
            private static void closeScanner(ResultScanner scanner) {
                    if (scanner != null)
                            scanner.close();
            }
    
            /**
             * 封装每行数据
             */
            private static Map<String, String> packRowMap(Map<byte[], byte[]> dataMap) {
                    Map<String, String> map = new LinkedHashMap<String, String>();
    
                    for (byte[] key : dataMap.keySet()) {
    
                            byte[] value = dataMap.get(key);
    
                            map.put(toStr(key), toStr(value));
    
                    }
                    return map;
            }
    
            /* 根据ROW KEY集合获取GET对象集合 */
            private static List<Get> getList(List<byte[]> rowList) {
                    List<Get> list = new LinkedList<Get>();
                    for (byte[] row : rowList) {
                            Get get = new Get(row);
    
                            get.addColumn(getBytes("family1"), getBytes("column1"));
                            get.addColumn(getBytes("family1"), getBytes("column2"));
                            get.addColumn(getBytes("family2"), getBytes("column1"));
                            list.add(get);
                    }
                    return list;
            }
    
            /**
             * 封装配置的所有字段列族
             */
            private static Map<byte[], byte[]> packFamilyMap(Result result) {
                    Map<byte[], byte[]> dataMap = null;
                    dataMap = new LinkedHashMap<byte[], byte[]>();
                    dataMap.putAll(result.getFamilyMap(getBytes("family1")));
                    dataMap.putAll(result.getFamilyMap(getBytes("family2")));
                    return dataMap;
            }
    
            private static String toStr(byte[] bt) {
                    return Bytes.toString(bt);
            }
    
            public static void main(String[] args) throws IOException {
                    // 拿出row key的起始行和结束行
                    // #<0<9<:
                    String startRow = "aaaa#";
                    String stopRow = "aaaa:";
                    int currentPage = 1;
                    int pageSize = 20;
                    // 执行hbase查询
                    getDataMap("table", startRow, stopRow, currentPage, pageSize);
    
            }
    }
    
    class TBData {
            private Integer currentPage;
            private Integer pageSize;
            private Integer totalCount;
            private Integer totalPage;
            private List<Map<String, String>> resultList;
    
            public Integer getCurrentPage() {
                    return currentPage;
            }
    
            public void setCurrentPage(Integer currentPage) {
                    this.currentPage = currentPage;
            }
    
            public Integer getPageSize() {
                    return pageSize;
            }
    
            public void setPageSize(Integer pageSize) {
                    this.pageSize = pageSize;
            }
    
            public Integer getTotalCount() {
                    return totalCount;
            }
    
            public void setTotalCount(Integer totalCount) {
                    this.totalCount = totalCount;
            }
    
            public Integer getTotalPage() {
                    return totalPage;
            }
    
            public void setTotalPage(Integer totalPage) {
                    this.totalPage = totalPage;
            }
    
            public List<Map<String, String>> getResultList() {
                    return resultList;
            }
    
            public void setResultList(List<Map<String, String>> resultList) {
                    this.resultList = resultList;
            }
    }
    


    展开全文
  • 插件描述:可以通过传入参数生成页码,可以返回跳转的页码参数更新时间:2017/9/21 上午9:25:53更新说明:修改...修改了跳转到页码显示NaN的bug,优化了代码更新时间:2017/9/8 上午10:05:04更新说明:添加了初始显...
  • 求好心人给完整的代码。让我熟悉一下。 jdbc、servlet、jsp、
  • 下午有个朋友问json 数据怎么分页 就捣鼓了一个东东出来 下面直接代码代码如下:<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ...
  • 用sql语句分页怎么做 ????代码怎么做 ???然后他怎么实现的。
  • 紧接着上篇—分页技术原理与实现(一)——为什么要进行分页怎么分页,本篇继续分析分页技术。上篇讲的是分页技术的简单原理与介绍,这篇深入分析一下分页技术的代码实现。  上篇最后讲到了分页的最佳实现是在...
  • 去年的时候刚接触Jquery,也就做界面特效用了下,对其很有兴趣,迫于现在项目中不怎么用,对其甚是想念呀,这不没抽点时间再来看看Juery中好玩的东西。
  • struts分页怎么实现

    2006-12-07 14:26:00
    示例代码如下: 1.PageInfo类:定义分页信息。 /** *//******************program begin**************************/ package test; import java.io.*; public final class PaginationInfo 
  • W3cplus第二版本刚上线时,好多位朋友向我问起站上的分页导航样式是怎么制作;为了报答各位朋友一持对本站的大力支持,今天我特意把这个分页导航的效果当作一个小教程来说。希望大家会喜欢
  • 代码是晚上匆忙中完成的,所以没怎么优化,但是主要作为实例来结合这些知识的一个综合运用。好了废话不多说,直接上代码。 vs2010+sql2005express 正文 首先我们创建一般处理程序,来读取数据库中内容,得到...
  • extjs怎么实现分页

    2012-03-05 18:23:06
    上传了js代码, 要注意的是start 和 limit 参数是分别表示的是开始的索引,limit表示的是这一页的最大数量,后台的oracle 的分页语句为下面 select * from ( select A.*, rownum rn from (select * from ...
  • 昨晚想实现这个功能,上网搜了很多都是有关js的,由于本人没怎么学过js,因为好多方法都放弃了 后来在一篇csdn上发现了html的写法,传送门:...
  • ssm框架+MySQL怎么实现分页?请大神分享一下具体代码,感激不尽!
  • 现要实现的功能是,用户浏览自己能看的最新文章,并可以上滑分页查看。二、数据库表设计涉及到的数据库表有:用户表TbUser、文章表TbArticle、用户可见文章表TbUserArticle。其中,TbUserArticle的结构和数据如下图...
  • 先上图看效果,大家感觉还错请参考功能怎么实现的! 从上图中不难看出,我们制定跳转到某页的功能是基于linkpager之上的扩展,这根我们之前实现的分页扩展明显不同,之前的明显就是重写了!当然,这都不重要,我们...
  • 例如: —共 20 条记录,当前 3/5 页 首页 上一页 下一页 尾页 GO—– 初遇到这个问题的道友,在考虑解决这个问题的时候好像都是在打php的主意,考虑怎么用php来实现,但是不管你是怎么设计都后设计成两种方案 1、...
  • , 在做完DedeCMS为自定义表单防恶意提交后,有用户需要用到这样的功能,就是DedeCMS的自定义表单能像留言板插件一样把提交的表单内容在前端也展示出来并实现分页展示效果,研究了一阵子后,终于搞定,今天就教大家...
  • 展开全部刚开始弄,目前分页是在前台jsp中实现的与bean相比这样比32313133353236313431303231363533e78988e69d8331333365646239较容易一些先把代码贴出来正在研究怎么样用bean实现分页等弄好了再贴代码下面说下分页...
  • 昨天朋友问我怎么用js实现分页浏览横向图片功能,其实实现代码很简单的,下面小编给大家带来了具体实现代码代码如下所示: common.js function $(id) { return document.getElementById(id); } function $_tag...
  • 本节我们实现了类似qq通讯聊天的功能,即你和好友之间可以相互发送和接受消息,为了美化,我们还增加了gui界面实现....我们需要分别编写客户端和服务端的代码,即要编写两套代码,不过客户端和服务端的实现细节...
  • 分页怎么实现: 看到效果 1 当前页-1 当前页+1 最后一页 总页数 首页 上一页 下一页 末页 算法分析:------------------------------------------------ 当前页: int nowpage; 首页: nowpage=1; ...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 340
精华内容 136
关键字:

分页代码怎么实现