spring+springMVC+mybatis的整合 part10

简介: 可以设置其他的页码和条数测试,均可以通过,所以分页的接口已经完成。单独拿出一个页面来实现其实分页列表也没什么,重点在于做出列表局部刷新,减少页面请求。具体的流程图如下:按照上图中,可以看到我们只需要把上一页和下一页的ajax调用写好就能完成我们这个简单分页的网络请求。

可以设置其他的页码和条数测试,均可以通过,所以分页的接口已经完成。单独拿出一个页面来实现

其实分页列表也没什么,重点在于做出列表局部刷新,减少页面请求。
具体的流程图如下:


按照上图中,可以看到我们只需要把上一页和下一页的ajax调用写好就能完成我们这个简单分页的网络请求。 至于第一页和最后一页的按钮事件也就是把页码设定为1和最后一页。
下一页的js调用:

var pageNum; function goToNextPage() { pageNum = parseInt(pageNum) + 1;//这里必须用parseInt(pageNum)这样才能拿到int型值,否则这里拿出来的是字符串 $.ajax({ type: "GET",//后端分页接口这里是没有指定请求方式 url: '/actionLog/findLogList?pageNum=' + pageNum + '&pageSize=15', dataType: 'json', cache: false, success: function (data) { if (data.code == 1) { updateList(data);//更新列表界面 pageNum = data.pageNum; $("#log-controller-now").html(pageNum);//把当前页面输出到网页对应ID的标签上面 } } }); } 

从上面可以看到,分页列表的请求变化的是页码,然后每一页长度是固定的,然后拿到返回的数据进行加载就行了。

既然上面已经看到了下一页的界面数据加载了,
同理我们可以得出上一页的的js调用如下:

function goToLastPage() { pageNum = parseInt(pageNum) - 1; $.ajax({ type: "GET", url: '/actionLog/findLogList?pageNum=' + pageNum + '&pageSize=15', dataType: 'json', cache: false, success: function (data) { if (data.code == 1) { updateList(data); pageNum = data.pageNum; $("#log-controller-now").html(pageNum); } } }); } 

js写出来,下面需要把网页数据加载进去
需要使用模版进行网页数据的加载。
在这里我们需要引入模版的js,js名称是:doT.min.js
从上面的上一页和下一页访问的js方法中,我们可以看到都使用了updateList(data)这个方法,这个方法就是来加载界面的
引入js后,我们需要开始写网页代码了

<div class="am-scrollable-horizontal am-text-ms" style="font-family: '微软雅黑';"> <table class="am-table am-text-nowrap"> <thead> <tr> <th>id</th> <th>IP地址</th> <th>系统名称</th> <th>访问地址</th> <th>SessionId</th> <th>浏览器名</th> </tr> </thead> <tbody id="log-table-body"> <script id="pagetmpl" type="text/x-dot-template"> <%--//这里js的ID为模版的id,type这个位模版类型--%> {{for(var i=0; i < it.length ; i++){ }} <tr> <%--这里取得全是json中的字段名称--%> <td> {{=it[i].id}}</td> <td>{{=it[i].ipAddrV4}}</td> <td>{{=it[i].osName}}</td> <td><span class="label label-danger"> {{ =it[i].description }} </span></td> <td>{{=it[i].sessionId}}</td> <td>{{=it[i].broName}}</td> </tr> {{ } }} </script> </tbody> </table> <div class="am-cf"> <div class="am-fr"> <ul class="am-pagination tpl-pagination" id="log-table-page-controller"> <li><a id="log-controller-last" onclick='goToLastPage()'>上一页</a></li> <li class="am-disabled"><a id="log-controller-now">1</a></li> <li><a id="log-controller-next" onclick="goToNextPage()">下一页</a></li> </ul> </div> </div> </div> 

我们知道应该怎么追加列表条目了,现在我们需要的是实现追加。按照代码结构观察我们可以发现,我们要想实现数据自动装载到页面上面,我们需要让程序顺序执行就对了。

<%--这一点js我们写在网页的body后面,因为我们网页的列表数据是异步加载的。所以让他直接执行就好了--%> <script type="application/javascript"> $.ajax({ type: "GET", url: '<%=request.getContextPath()%>/actionLog/findLogList?pageNum=1&pageSize=15', dataType: 'json', //当这里指定为json的时候,获取到了数据后会自己解析的,只需要 返回值.字段名称 就能使用了 cache: false, success: function (data) { if (data.code == 1) { pagefn = doT.template($("#pagetmpl").html()); //初始化列表模板 updateList(data); //更新数据 pageNum = data.pageNum; } } }); function updateList(data) { $("#pagetmpl").empty(); //清空模板数据 $("#log-table-body").html(pagefn(data.data)); //加入数据到模板 } </script> 

前面我们的JS是写在头部的,如果说自动执行肯定会找不到控件,所以我们需要让自动加载在页面完成后加载。也就是在</body>后加上

可能有人会发现我获取到的IPV4地址是0:0:0:0:0:0:0:1
这代码的问题只会出现在本机访问服务,获取ip时才会出现。而且如果你本机通过localhost127.0.0.1本机真实地址访问时获取到的ip也有区别
如果你把localhost改成127.0.0.1的话获取到的IP地址就是127.0.0.1,如果换成localhost获取到的就是0:0:0:0:0:0:0:1
然后我们在MainController中让页面可以跳转到行为日志表中

/* *日志主页 */ @GetMapping("/listActionLog") public String listActionLog() { return "list_action_log"; } 

下面我们可以测试下,登录后输入http://localhost:8080/ssm/mvc/listActionLog
跳转到行为日志表页面

Paste_Image.png

也许有人会问,URL中的ssm哪来的?
这个是在项目部署的时候配置的,可以看part2
至此 spring+springMVC+mybatis的简单整合基本结束
项目github地址:https://github.com/JinBinPeng/spring-springMVC-mybatis

主要参考于大牛Clone丶记忆的SSM集成之路

目录
相关文章
|
1月前
|
前端开发 Java 微服务
《深入理解Spring》:Spring、Spring MVC与Spring Boot的深度解析
Spring Framework是Java生态的基石,提供IoC、AOP等核心功能;Spring MVC基于其构建,实现Web层MVC架构;Spring Boot则通过自动配置和内嵌服务器,极大简化了开发与部署。三者层层演进,Spring Boot并非替代,而是对前者的高效封装与增强,适用于微服务与快速开发,而深入理解Spring Framework有助于更好驾驭整体技术栈。
|
5月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
949 1
Spring boot 使用mybatis generator 自动生成代码插件
|
4月前
|
前端开发 Java API
Spring Cloud Gateway Server Web MVC报错“Unsupported transfer encoding: chunked”解决
本文解析了Spring Cloud Gateway中出现“Unsupported transfer encoding: chunked”错误的原因,指出该问题源于Feign依赖的HTTP客户端与服务端的`chunked`传输编码不兼容,并提供了具体的解决方案。通过规范Feign客户端接口的返回类型,可有效避免该异常,提升系统兼容性与稳定性。
316 0
|
5月前
|
Java 数据库连接 API
Java 对象模型现代化实践 基于 Spring Boot 与 MyBatis Plus 的实现方案深度解析
本文介绍了基于Spring Boot与MyBatis-Plus的Java对象模型现代化实践方案。采用Spring Boot 3.1.2作为基础框架,结合MyBatis-Plus 3.5.3.1进行数据访问层实现,使用Lombok简化PO对象,MapStruct处理对象转换。文章详细讲解了数据库设计、PO对象实现、DAO层构建、业务逻辑封装以及DTO/VO转换等核心环节,提供了一个完整的现代化Java对象模型实现案例。通过分层设计和对象转换,实现了业务逻辑与数据访问的解耦,提高了代码的可维护性和扩展性。
219 1
|
4月前
|
SQL Java 数据库连接
Spring、SpringMVC 与 MyBatis 核心知识点解析
我梳理的这些内容,涵盖了 Spring、SpringMVC 和 MyBatis 的核心知识点。 在 Spring 中,我了解到 IOC 是控制反转,把对象控制权交容器;DI 是依赖注入,有三种实现方式。Bean 有五种作用域,单例 bean 的线程安全问题及自动装配方式也清晰了。事务基于数据库和 AOP,有失效场景和七种传播行为。AOP 是面向切面编程,动态代理有 JDK 和 CGLIB 两种。 SpringMVC 的 11 步执行流程我烂熟于心,还有那些常用注解的用法。 MyBatis 里,#{} 和 ${} 的区别很关键,获取主键、处理字段与属性名不匹配的方法也掌握了。多表查询、动态
150 0
|
4月前
|
JSON 前端开发 Java
第05课:Spring Boot中的MVC支持
第05课:Spring Boot中的MVC支持
255 0
|
5月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
225 1
|
8月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
668 0
|
设计模式 前端开发 Java
了解 Spring MVC 架构、Dispatcher Servlet 和 JSP 文件的关键作用
Spring MVC 是 Spring 框架的一部分,是一个 Web 应用程序框架。它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序。
233 0
|
存储 设计模式 前端开发
什么是SpringMVC?简单好理解!什么是应用分层?SpringMVC与应用分层的关系? 什么是三层架构?SpringMVC与三层架构的关系?
文章解释了SpringMVC的概念和各部分功能,探讨了应用分层的原因和具体实施的三层架构,以及SpringMVC与三层架构之间的关系和联系。
667 1
什么是SpringMVC?简单好理解!什么是应用分层?SpringMVC与应用分层的关系? 什么是三层架构?SpringMVC与三层架构的关系?
下一篇