数据分页前后端代码实现以及一些小知识

不打扰是莪最后的温柔 提交于 2020-02-10 19:03:13

用到的小技术如下

@RequestParam,@PathVariable

前端form表单GET的使用

thymleaf传递多个参数的应用

Model(相当于getsession().setAttribute())

StringUtils.split以及Arrays.stream().collect(Collectors.joining(""))

mybatis的自创类与xml的配置

@requestParam

在这里插入图片描述
在这里插入图片描述
常用于controller类里,用于接受(前端页面传递过来的参数),例如
第一个图片/?page=1&search=java分别对应
第二个图片@RequestParam(name = “page”, defaultValue = “1”) Integer page与 @RequestParam(name = “search”,required = false) String search

@RequestParam(name=前端页面参数名,defaultValue=参数值)
@RequestParam(name=前端页面参数名,requeired=false(可有可无))

@PathVariable

在这里插入图片描述
在这里插入图片描述
常用于controller类里,用于接受(前端页面传递过来的参数
地址栏的55对应@PathVariable(name = “id”) Integer id

@PathVariable(name=@GetMapping(大括号里面的数值))

前端form表单及GET的使用

 <form action="/" method="get">
                    <div>
                        <input type="text" name="search" placeholder="搜索问题">
                    </div>
                    <button type="submit" >搜索</button>
 </form>

action="/"表示点击button提交到路径/下。
method="get"表示提交方式是GET。
input标签里面的name=“search” 表示地址栏传递的参数名字,配合@RequestParam使用。如下图所示
在这里插入图片描述
在这里插入图片描述

thymleaf传递多个参数的应用

<a th:href="@{/(page=${page},search=${search})}">
 <a th:href="@{/(page=${pagenation.page}+1,search=${search})}">
 th:href="@{/路径(参数1=${addAttribute的值},参数2=${addAttribute值},...参数n=${addAttribute的值})}"

Model(相当于getsession().setAttribute())

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用法简单粗暴,如图所示。
a标签显示的数值就是后端tagDTOList的值

StringUtils.split以及Arrays.stream().collect(Collectors.joining(""))

//StringUtils.split(要处理的字符串,以什么分隔开)
String[] split = StringUtils.split(search," ");
//Collectors.joining("将数组里面的值以什么拼接起来")
String collect =Arrays.stream(split).collect(Collectors.joining("|"));
stream()是java8的新特性,有超多用法,具体查资料

mybatis的xml一些

<select id="getQuestionBysearch"(对应的方法名) parameterType="life.majiang.community.dto.SearchDTO"(传递过来的类型) resultMap="BaseResultMap"(查询出的结果是结果集)>
    SELECT * from question
    <where>(判断条件)
      <if test="search!=null">(判断条件)
      AND title REGEXP(正则表达式) #{search}
      </if>
    </where>
    ORDER BY gmt_create DESC limit #{page},#{size}
  </select>
<select id="getSearchCount" parameterType="life.majiang.community.dto.SearchDTO"(传递过来的类型)
resultType="java.lang.Integer"(查询结果是数字)>
    SELECT COUNT(*) from question
    <where>
      <if test="search!=null">
      AND title REGEXP #{search}
      </if>
    </where>
  </select>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!