热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot使用AJAX从数据库读取数据异步刷新前端表格

近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。以下介绍解决方法(请忽视

  近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。

  以下介绍解决方法(请忽视拼音命名)。

  筛选前先随便给table添加一些数据:

《Spring Boot使用AJAX从数据库读取数据异步刷新前端表格》

 

 

 

 

 

 

 

 

 

 

  首先在domin中定义相应的数据结构,这里使用之前已经定义好的一个类,里面包含了我们所需的几个属性,所以就直接抱过来

1 public class JichutongjiTable {
2 private int kaoshirenshu;
3 private int yingdaorenshu;
4 private double pingjunfen;
5 private double fangcha;
6 private int zhishidian;
7 private int zuigaofen;
8 private int zuidifen;
9
10 public int getZuigaofen() {
11 return zuigaofen;
12 }
13
14 public void setZuigaofen(int zuigaofen) {
15 this.zuigaofen = zuigaofen;
16 }
17
18 public int getZuidifen() {
19 return zuidifen;
20 }
21
22 public void setZuidifen(int zuidifen) {
23 this.zuidifen = zuidifen;
24 }
25
26 public int getKaoshirenshu() {
27 return kaoshirenshu;
28 }
29
30 public void setKaoshirenshu(int kaoshirenshu) {
31 this.kaoshirenshu = kaoshirenshu;
32 }
33
34 public int getYingdaorenshu() {
35 return yingdaorenshu;
36 }
37
38 public void setYingdaorenshu(int yingdaorenshu) {
39 this.yingdaorenshu = yingdaorenshu;
40 }
41
42 public double getPingjunfen() {
43 return pingjunfen;
44 }
45
46 public void setPingjunfen(double pingjunfen) {
47 this.pingjunfen = pingjunfen;
48 }
49
50 public double getFangcha() {
51 return fangcha;
52 }
53
54 public void setFangcha(double fangcha) {
55 this.fangcha = fangcha;
56 }
57
58 public int getZhishidian() {
59 return zhishidian;
60 }
61
62 public void setZhishidian(int zhishidian) {
63 this.zhishidian = zhishidian;
64 }
65 }

  接着在mapper中定义定义所需的方法从数据库中取数据(请忽视乱糟糟的SQL……)

1 @Component
2 public interface JichutongjiMapper {
3 //获取基础信息
4 @Select("SELECT COUNT(*) as kaoshirenshu FROM (SELECT * FROM fenshu GROUP BY xuehao HAVING SUM(xueshengdefen)<>0) as t1 UNION ALL SELECT COUNT(*) as yingdaorenshu FROM (SELECT * FROM fenshu GROUP BY xuehao) as t1 UNION ALL SELECT FLOOR(sum(a)/COUNT(a)) as pingjunfen FROM (SELECT sum(xueshengdefen) as a FROM fenshu GROUP BY xuehao) AS b UNION ALL SELECT variance(a) as fangcha FROM (SELECT sum(xueshengdefen) as a FROM fenshu GROUP BY xuehao) AS b")
5 public List getJichutongji();
6 //获取最高分
7 @Select("SELECT MAX(tt.chengji) AS zuigaofen FROM (SELECT SUM(xueshengdefen) AS chengji FROM fenshu GROUP BY xuehao) AS tt")
8 public Integer getMaxMark();
9 //获取最低分
10 @Select("SELECT MIN(tt.chengji) AS zuidifen FROM (SELECT SUM(xueshengdefen) AS chengji FROM fenshu GROUP BY xuehao) AS tt")
11 public Integer getMinMark();
12 }

 

  下一步编写service供controller调用

1 @Service
2 public class JichuqingkuangService {
3 @Autowired
4 private JichutongjiMapper jichutongjiMapper;
5 @Autowired
6 private ShitifenxiMapper shitifenxiMapper;
7 public List getJichutongji(){
8 List list= jichutongjiMapper.getJichutongji();
9 return list;
10 }
11 public Integer getMaxMark(){
12 return jichutongjiMapper.getMaxMark();
13 }
14 public Integer getMinMark(){
15 return jichutongjiMapper.getMinMark();
16 }
17 }

  然后,在controller中调用service并按规定路径返回给前台所需的数据

1 @Controller
2 public class IndexController {
3
4 @Autowired
5 private JichuqingkuangService jichuqingkuangService;
6    @PostMapping(value="/easyuiIndexTable")
7 @ResponseBody
8 public Map xiaoguoTable(){
9
10 Map map=new HashMap<>();
11 List list= jichuqingkuangService.getJichutongji();
12 String highScore = ""+jichuqingkuangService.getMaxMark();
13 String lowScore = ""+jichuqingkuangService.getMinMark();
14
15 map.put("totalNumber",""+list.get(0));
16 map.put("actualNumber",""+list.get(1));
17 map.put("highScore",highScore);
18 map.put("lowScore",lowScore);
19 map.put("avgScore",""+list.get(2));
20 map.put("variance",""+list.get(3));
21
22
23 return map;
24 }
25 }
26

  在JS中处理数据并刷新前端显示:

  前端HTML页面table代码:

1 <table style="width:100%;height:190px">
2 <tr>
3 <td style="width:100%">
4 <table>
5 <thead>
6 <tr class="cen">
7 <th>实际人数(单位:人)th>
8 <th>应到人数(单位:人)th>
9 <th>最高分(单位:分)th>
10 <th>最低分(单位:分)th>
11 <th>考试平均分(单位:分)th>
12 <th>考试方差(单位:1)th>
13 tr>
14 thead>
15 <tbody id="tbodydata">
16 <tr>
17 <td>1111td>
18 <td>2222td>
19 <td>3333td>
20 <td>4444td>
21 <td>5555td>
22 <td>6666td>
23 tr>
24
25 tbody>
26 table>
27 td>
28 tr>
29
30 table>

  最后,在button中调用此刷新方法:

<button onclick="refurbishIndex()">筛选button> 

 

  至此,便完成了数据读取,传递,刷新的整个流程,点击筛选按钮后,table表格内的数据实现刷新

《Spring Boot使用AJAX从数据库读取数据异步刷新前端表格》

 

参考博文:http://blog.csdn.net/love254443233/article/details/48468397

转:https://www.cnblogs.com/liesun/p/7410130.html


推荐阅读
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
  • 本文详细介绍了 React 中的两个重要 Hook 函数:useState 和 useEffect。通过具体示例,解释了如何使用它们来管理组件状态和处理副作用。 ... [详细]
  • 汇编语言等号伪指令解析:探究其陡峭的学习曲线
    汇编语言以其独特的特性和复杂的语法结构,一直被认为是编程领域中学习难度较高的语言之一。本文将探讨汇编语言中的等号伪指令及其对初学者带来的挑战,并结合社区反馈分析其学习曲线。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
author-avatar
UJXo小妖春日望美
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有