当前位置:Gxlcms > 数据库问题 > easyui-datagrid连接数据库实现分页查询数据

easyui-datagrid连接数据库实现分页查询数据

时间:2021-07-01 10:21:17 帮助过:15人阅读

public class StudentDAO { ServiceRegistry sr=null; Configuration cfg=null; SessionFactory sf=null; Session se=null; Transaction tr=null; public StudentDAO() { cfg=new Configuration().configure(); sr=new StandardServiceRegistryBuilder() .applySettings(cfg.getProperties()).build(); } //初始化 private void init() { sf=cfg.buildSessionFactory(sr); se=sf.openSession(); tr=se.beginTransaction(); } //提交和释放资源 private void destory() { tr.commit(); se.close(); sf.close(); } //获取分页的数据集合 public List<Student> getPageList(int page,int rows) { List<Student> rtn=new ArrayList<Student>(); init(); int num=(page-1)*rows; rtn=se.createQuery("from Student").setFirstResult(num).setMaxResults(rows).list(); destory(); return rtn; } //获取数据条数 public int getTotal() { int rtn=0; init(); List<Object>lo=se.createQuery("select count(1) from Student").list(); if(lo!=null&&lo.size()>0) { rtn=Integer.parseInt(lo.get(0).toString()); } destory(); return rtn; } }

二、建立service层

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

三、建立servlet:

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

4、写出显示界面

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

效果图:

技术分享

 

 

 

easyui-datagrid连接数据库实现分页查询数据

标签:hibernate   center   open   dao   rate   ret   sheet   mvc   remote   

人气教程排行