一、利用MVC思想建立底层数据库:

  1. package com.hanqi.dao;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.hibernate.Session;
  7. import org.hibernate.SessionFactory;
  8. import org.hibernate.Transaction;
  9. import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
  10. import org.hibernate.cfg.Configuration;
  11. import org.hibernate.service.ServiceRegistry;
  12.  
  13. import com.hanqi.entity.Student;
  14.  
  15. public class StudentDAO {
  16.  
  17. ServiceRegistry sr=null;
  18. Configuration cfg=null;
  19. SessionFactory sf=null;
  20. Session se=null;
  21. Transaction tr=null;
  22.  
  23. public StudentDAO()
  24. {
  25. cfg=new Configuration().configure();
  26.  
  27. sr=new StandardServiceRegistryBuilder()
  28. .applySettings(cfg.getProperties()).build();
  29.  
  30. }
  31. //初始化
  32. private void init()
  33. {
  34.  
  35. sf=cfg.buildSessionFactory(sr);
  36. se=sf.openSession();
  37. tr=se.beginTransaction();
  38. }
  39. //提交和释放资源
  40. private void destory()
  41. {
  42. tr.commit();
  43. se.close();
  44. sf.close();
  45. }
  46. //获取分页的数据集合
  47. public List<Student> getPageList(int page,int rows)
  48. {
  49. List<Student> rtn=new ArrayList<Student>();
  50. init();
  51. int num=(page-)*rows;
  52. rtn=se.createQuery("from Student").setFirstResult(num).setMaxResults(rows).list();
  53. destory();
  54. return rtn;
  55. }
  56.  
  57. //获取数据条数
  58. public int getTotal()
  59. {
  60. int rtn=;
  61. init();
  62. List<Object>lo=se.createQuery("select count(1) from Student").list();
  63. if(lo!=null&&lo.size()>)
  64. {
  65. rtn=Integer.parseInt(lo.get().toString());
  66. }
  67.  
  68. destory();
  69. return rtn;
  70. }
  71.  
  72. }

二、建立service层

  1. package com.hanqi.service;
  2.  
  3. import java.util.List;
  4.  
  5. import com.alibaba.fastjson.JSONArray;
  6. import com.hanqi.dao.StudentDAO;
  7. import com.hanqi.entity.Student;
  8.  
  9. public class StudentService {
  10.  
  11. //查询分页数据
  12.  
  13. //返回JSON
  14. public String getPageJSON(int page,int rows)
  15. {
  16. String rtn="{'title':0,'rows':[]}";
  17.  
  18. int total=new StudentDAO().getTotal();
  19. if(total>)
  20. {
  21. List<Student>ls= new StudentDAO().getPageList(page, rows);
  22.  
  23. String ls_json=JSONArray.toJSONString(ls);
  24. //利用转义字符转成JSON格式的语句
  25. rtn="{\"total\":"+total+",\"rows\":"+ls_json+"}";
  26.  
  27. }
  28.  
  29. return rtn;
  30. }
  31.  
  32. }

三、建立servlet:

  1. package com.hanqi.web;
  2.  
  3. import java.io.IOException;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. import com.hanqi.service.StudentService;
  10.  
  11. /**
  12. * Servlet implementation class StudentServlet
  13. */
  14. public class StudentServlet extends HttpServlet {
  15. private static final long serialVersionUID = 1L;
  16.  
  17. /**
  18. * @see HttpServlet#HttpServlet()
  19. */
  20. public StudentServlet() {
  21. super();
  22. // TODO Auto-generated constructor stub
  23. }
  24.  
  25. /**
  26. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  27. */
  28. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  29.  
  30. request.setCharacterEncoding("UTF-8");
  31. response.setCharacterEncoding("UTF-8");
  32. response.setContentType("text/html");
  33.  
  34. String spage=request.getParameter("page");
  35. String srows=request.getParameter("rows");
  36.  
  37. if(spage!=null&& srows!=null)
  38. {
  39. int page=Integer.parseInt(spage);
  40. int rows=Integer.parseInt(srows);
  41.  
  42. String json =new StudentService().getPageJSON(page, rows);
  43.  
  44. response.getWriter().print(json);
  45. }
  46. else
  47. {
  48. response.getWriter().print( "{'title':0,'rows':[]}");
  49. }
  50. }
  51.  
  52. /**
  53. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  54. */
  55. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  56. // TODO Auto-generated method stub
  57. doGet(request, response);
  58. }
  59.  
  60. }

4、写出显示界面

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Insert title here</title>
  6. <!-- 、JQuery的js包 -->
  7. <script type="text/javascript" src="jquery-easyui-1.4.4/jquery.min.js"></script>
  8. <!-- css资源 -->
  9. <link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/default/easyui.css">
  10. <!-- 、图标资源 -->
  11. <link rel="stylesheet" type="text/css" href="jquery-easyui-1.4.4/themes/icon.css">
  12. <!-- 、easyui的js包 -->
  13. <script type="text/javascript" src="jquery-easyui-1.4.4/jquery.easyui.min.js"></script>
  14.  
  15. <!-- 、本地语言 -->
  16. <script type="text/javascript" src="jquery-easyui-1.4.4/locale/easyui-lang-zh_CN.js"></script>
  17. </head>
  18. <body>
  19. <script type="text/javascript">
  20. $(function(){
  21. //创建data_grid
  22. $("#st").datagrid({
  23.  
  24. url:'StudentServlet', //数据来源
  25. //冻结列
  26.  
  27. //列的定义
  28. columns:[[
  29. {field:'sno',title:'学生编号',width:},
  30. {field:'sname',title:'学生姓名',width:},
  31. {field:'ssex',title:'性别',width:,align:'right'},
  32. {field:'sbirthday',title:'生日',width:,align:'center',hidden:true},
  33. {field:'sclass',title:'班级',width:,align:'right',sortable:true}
  34. ]],
  35.  
  36. fitColumns:true,//列自适应宽度,不能和冻结列同时设置为true
  37. striped:true,//斑马线效果
  38. idField:'sno',//主键列
  39. rownumbers:true,//显示行号
  40. singleSelect:false,//是否单选
  41. pagination:true,//显示分页栏
  42. pageList:[,,,],//每页行数选择列表
  43. pageSize:,//出事每页行数
  44. remoteSort:false,//是否服务器端排序,设成false,才能客户端排序
  45. sortName:'sclass'//设置排序列
  46.  
  47. });
  48. })
  49.  
  50. </script>
  51. 学生表
  52. <br><br>
  53. <table id="st"></table>
  54.  
  55. </body>
  56. </html>

效果图:

 

easyui-datagrid连接数据库实现分页查询数据的更多相关文章

  1. jQuery EasyUI datagrid实现本地分页的方法

    http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ...

  2. easyUI datagrid 前端真分页

    前文再续,书接上一回.easyUI datagrid 前端假分页 http://blog.csdn.net/leftfist/article/details/43164977 真分页是easyUI d ...

  3. oracle 分页查询数据重复问题

    最近在做项目的时候发现一个问题,oracle 在查询分页数据的时候,有几条数据重复查询了,并且有几条数据在分页的时候消失了.百度了一下发现,ORACLE 在查询数据的时候返回的行不是固定的,他只是按照 ...

  4. Oracle数据库排序后分页查询数据错误问题解决

    一.问题描述:根据更新时间倒序排序然后分页查询数据,但是点击分页操作的时候,会出现数据重复看似没有操作的情况 二.问题错误原因分析 分页查询的SQL语句: select * FROM (select ...

  5. SqlServer存储过程应用二:分页查询数据并动态拼接where条件

    前言 开发中查询功能是贯穿全文的,我们来盘一盘使用存储过程分页查询,并且支持动态拼接where条件. 划重点:支持动态拼接where条件 对存储过程的使用有疑问的同学去[SqlServer存储过程的创 ...

  6. (转)扩展jquery easyui datagrid 之动态绑定列和数据

    本文转载自:http://blog.csdn.net/littlewolf766/article/details/7336550 easyui datagrid 不支持动态加载列,上次使用的方法是自己 ...

  7. easyUI datagrid 前端假分页

    datagrid有两种分页方式,真分页和假分页. 所谓真分页,就是真的每次只获取一张分页的数据. 所谓假分页,就是将所有数据全部获取下来,然后利用其分页控件进行分页. 下面具体说说假分页: 1.dat ...

  8. mysq带条件的分页查询数据结果错误

    记一次mysql分页条件查询的结果出错: 以一张用户表为例,首先我们看表中的所有数据,注意红色框住的部分: 我们使用不带条件的分页查询来查询,数据显示是OK的: SELECT id,login_nam ...

  9. easyui datagrid 批量编辑和提交数据

    easyui datagrid 行编辑和提交方,废话就不多说了,直接上代码 <div style="margin: 5px;"> <table id=" ...

随机推荐

  1. 1Z0-053 争议题目解析330

    1Z0-053 争议题目解析330 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 330.What will be the end result of this set of RM ...

  2. java.util.ConcurrentModificationException异常处理

    ConcurrentModificationException异常处理 ConcurrentModificationException异常是Iterator遍历ArrayList或者HashMap数组 ...

  3. SQL Server 执行计划利用统计信息对数据行的预估原理以及SQL Server 2014中预估策略的改变

    前提  本文仅讨论SQL Server查询时, 对于非复合统计信息,也即每个字段的统计信息只包含当前列的数据分布的情况下, 在用多个字段进行组合查询的时候,如何根据统计信息去预估行数的. 利用不同字段 ...

  4. web前端学习随笔

    为什么是随笔 好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随 ...

  5. Android 源码下载方法(Git 方式clone)

    Android源码对于Android开发者来说,迟早有一天你会用到的,所以就记录一下,分享给读者,希望对读者有用 这里需要使用到Git相关知识,不清楚的可以先阅读,了解的可以跳过 Git-Tortoi ...

  6. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  7. TCP滑动窗口机制的简洁模型

    模型图: 我们可以大概看一下上图的模型: 首先是AB之间三次握手建立TCP连接.在报文的交互过程中,A将自己的缓冲区大小(窗口大小)3发送给B,B同理,这样双方就知道了对端的窗口大小. A开始发送数据 ...

  8. Hexo主题实现多级分类显示

    前言 最近在搞一个博客,是托管在github和gitcafe上的,利用Hexo生成的.之后,发现一个问题,显示的分类都是一级的.而我想要的是:能显示多级分类,层次分明`的那样. 问题 基本主题自带的分 ...

  9. LINQ to SQL语句(15)之String

    LINQ to SQL支持以下String方法.但是不同的是默认情况下System.String方法区分大小写.而SQL则不区分大小写. 1.字符串串联(String Concatenation) v ...

  10. jquery移除属性值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...