springboot?+mybatis?使用PageHelper實(shí)現(xiàn)分頁(yè)并帶條件模糊查詢功能
完整案例:
SpringBoot + laypage分頁(yè) + 模糊查詢 完整案例
下面在通過(guò)實(shí)例代碼介紹下springboot +mybatis 使用PageHelper實(shí)現(xiàn)分頁(yè)并帶條件模糊查詢功能,內(nèi)容如下所示:
調(diào)用接口Controller類
@ApiOperation("查詢列表")
@PostMapping("/selectList")
public Result selectList(@RequestBody User_InfoListRequest userInfo ) {
Page page = PageHelper.startPage(userInfo.pageNum,userInfo.pageSize); //這行是重點(diǎn)(放在方法第一行)表示從pageNum頁(yè)開(kāi)始,每頁(yè)pageSize條數(shù)據(jù)
List<User_info> _list= userService.selectList(userInfo);//返回集合和分頁(yè)之前不要有其它代碼,這兩行上下要緊靠近
PageInfo pageInfo = new PageInfo<>(_list);
return Result.SUCCESS( pageInfo);
}package com.xj.demo.model.Request;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
public class User_InfoListRequest extends PageRequest {
@ApiModelProperty(value = "學(xué)生姓名")
public String uname;
@ApiModelProperty(value = "學(xué)生年齡")
public int uage;
}
import lombok.Data;
/**
* 分頁(yè)請(qǐng)求request基類
*/
@Data
public class PageRequest {
@ApiModelProperty(value = "當(dāng)前頁(yè)碼")
public Integer pageNum;
@ApiModelProperty(value = "分頁(yè)大小")
public Integer pageSize;定義接口,注意紅色顯示部分
package com.xj.demo.mapper;
import com.github.pagehelper.Page;
import com.xj.demo.model.Request.UserEditRequest;
import com.xj.demo.model.Request.User_InfoListRequest;
import com.xj.demo.model.Response.UserInfoResponse;
import com.xj.demo.model.entity.User_info;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface User_infoMapper {
// 查詢列表
List<User_info> selectList(@Param("userInfo") User_InfoListRequest userInfo);
}實(shí)現(xiàn)接口service
package com.xj.demo.service;
import com.github.pagehelper.Page;
import com.xj.demo.mapper.User_infoMapper;
import com.xj.demo.model.Request.UserEditRequest;
import com.xj.demo.model.Request.User_InfoListRequest;
import com.xj.demo.model.Response.UserInfoResponse;
import com.xj.demo.model.entity.User_info;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class User_infoService implements User_infoMapper {
@Autowired
private User_infoMapper uMapper;
@Override
public List<User_info> selectList(User_InfoListRequest userInfo) {
return uMapper.selectList(userInfo);
}
}mapper中sql語(yǔ)句uname進(jìn)行模糊查詢和年齡完全匹配
<!---查詢列表-->
<select id="selectList" resultType="User_info">
select * from User_info where 1=1
<if test="userInfo!=null">
<if test="userInfo.uname!=null and userInfo.uname!='' ">
and uname like '%' #{userInfo.uname} '%'
</if>
<if test="userInfo.uage!=0">
and uage = #{userInfo.uage}
</if>
</if>
order by create_time desc
</select>使用postman進(jìn)行接口測(cè)試


到此這篇關(guān)于springboot +mybatis 使用PageHelper實(shí)現(xiàn)分頁(yè)并帶條件模糊查詢功能的文章就介紹到這了,更多相關(guān)Springboot模糊分頁(yè)帶條件查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java使用ArrayList遍歷及效率比較實(shí)例分析
這篇文章主要介紹了java使用ArrayList遍歷及效率比較,實(shí)例分析了ArrayList遍歷的方法與使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Tomcat數(shù)據(jù)源配置方法_JBuilder中
今天幫一同事配置一個(gè)數(shù)據(jù)源,采用tomcat5.5.9,本來(lái)是個(gè)很簡(jiǎn)單的事,以前也配過(guò),但由于很長(zhǎng)時(shí)間沒(méi)用過(guò)容器提供的數(shù)據(jù)源了(IOC用慣了),也只記的個(gè)大概了,所以剛開(kāi)始一配就出錯(cuò)了,google了一下,有很多資料,照著試試卻都不好使(到不是別人說(shuō)的不對(duì),只是大家用的版本不同)。2008-10-10
springcloud引入spring-cloud-starter-openfeign失敗的解決
這篇文章主要介紹了springcloud?引入spring-cloud-starter-openfeign失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
java對(duì)接微信小程序詳細(xì)流程(登錄&獲取用戶信息)
這篇文章主要給大家介紹了關(guān)于java對(duì)接微信小程序(登錄&獲取用戶信息)的相關(guān)資料,我們?cè)陂_(kāi)發(fā)微信小程序時(shí)經(jīng)常需要獲取用戶微信用戶名以及頭像信息,微信提供了專門(mén)的接口API用于返回這些信息,需要的朋友可以參考下2023-08-08
使用maven插件對(duì)java工程進(jìn)行打包過(guò)程解析
這篇文章主要介紹了使用maven插件對(duì)java工程進(jìn)行打包過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Java Quartz觸發(fā)器CronTriggerBean配置用法詳解
這篇文章主要介紹了Java Quartz觸發(fā)器CronTriggerBean配置用法詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08

