layUI的分页不起作用
问题:点击页数无效,问题在总条数
1.前端分页传的是page,limit.
2.前端jq
layui.use(['form', 'table'], function () { var $ = layui.jquery, form = layui.form, table = layui.table; table.render({ elem: '#currentTableId', url: '/tuserList', toolbar: '#toolbarDemo', defaultToolbar: ['filter', 'exports', 'print', { title: '提示', layEvent: 'LAYTABLE_TIPS', icon: 'layui-icon-tips' }], cols: [[ {type: "checkbox", width: 50}, {field:'id', width:150, title: 'ID', sort: true}, {field: 'username', width: 150, title: '用户名'}, {field: 'number', width: 150, title: '账号', sort: true}, {field: 'phone', width: 150, title: '手机号码'}, {field: 'email', title: '邮箱', minWidth: 150}, {title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"} ]], limits: [10, 15, 20, 25, 50, 100], limit: 10, page: true, skin: 'line' }); // 监听搜索操作 form.on('submit(data-search-btn)', function (data) { var username=$("#username").val(); //执行搜索重载 table.reload('currentTableId', { page: { curr: 1 } , where: { username: username } }, 'data'); return false; });
3.controller的分页其中用到了分页插件PageHelper,因为框架的问题所以返回的结果类型要一致
/** * 使用分页插件获取用户的list * @return */ @RequestMapping(value = "/tuserList") @ResponseBody public JSONObject userList(HttpServletRequest request,TUser user, @RequestParam( required = false,value = "page",defaultValue = "1") int pageNum,@RequestParam( required = false,value = "limit",defaultValue = "10") int pageSize ){ JSONObject jsonObject=new JSONObject(); System.out.println(user.getUsername()); System.out.println(request.getParameter("username")); List<TUser> list = userService.userPage(pageNum,pageSize,user); //使用分页插件 PageInfo<TUser> pageInfo=new PageInfo<>(list); if (CollectionUtils.isNotEmpty(list)){ jsonObject.put("code",0); jsonObject.put("msg","请求成功"); jsonObject.put("count",pageInfo.getTotal()); jsonObject.put("data",pageInfo.getList()); } return jsonObject; }
4.service层
//用户的分页 public List<TUser> userPage(int pageNum,int pageSize,TUser user);
5.serviceImpl层
@Override public List<TUser> userPage(int pageNum,int pageSize,TUser user) { //查询出全部数据 PageHelper.startPage(pageNum,pageSize); List<TUser> userList=baseMapper.userPage(user); return userList; }
6.mapper层
public List<TUser> userPage(@Param("user") TUser user);
7.mapper.xml
<select id="userPage" resultType="com.jack.all.entity.TUser"> select * from t_user <where> <if test="user.username !=null and user.username !=''"> and username=#{user.username} </if> </where> </select>
8.maven插件包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.jack</groupId> <artifactId>travel</artifactId> <version>0.0.1-SNAPSHOT</version> <name>travel</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--thymeleaf前端html加载模板--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--加载Web前端界面--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--数据库连接--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!--省略get/set方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- mybatis plus 代码生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency> <!-- 模板引擎 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <!--freeMarker+servlet能动态携带数据生成html--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency> <!--fastjson包json对象与json字符串的转换--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!--devtools热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope> </dependency> <!-- springboot分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <!-- 特别注意版本问题,--> <version>1.2.13</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
9.配置文件yml
server: port: 8081 servlet: context-path: / spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/db_travel?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 serialization: write-dates-as-timestamps: false # thymeleaf模板配置 thymeleaf: prefix: classpath:/templates/ suffix: .html mode: HTML5 encoding: UTF-8 cache: false #热部署 devtools: restart: enabled: true additional-paths: /** mybatis-plus: configuration: map-underscore-to-camel-case: true auto-mapping-behavior: full log-impl: org.apache.ibatis.logging.stdout.StdOutImpl mapper-locations: classpath*:mapper/**/*Mapper.xml global-config: # 逻辑删除配置 db-config: # 删除前 logic-not-delete-value: 1 # 删除后 logic-delete-value: 0 #分页pageHelper pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true params: count=countSql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」