A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】传智健康项目讲义第四章 八

3. 体检套餐分页
3.1 完善页面
3.1.1 定义分页相关模型数据
[AppleScript] 纯文本查看 复制代码
pagination: {//分页相关模型数据
currentPage: 1,//当前页码
pageSize:10,//每页显示的记录数
total:0,//总记录数
queryString:null//查询条件
},
dataList: [],//当前页要展示的分页列表数据 

3.1.2 定义分页方法
在页面中提供了findPage方法用于分页查询,为了能够在setmeal.html页面加载后直接
可以展示分页数据,可以在VUE提供的钩子函数created中调用findPage方法

[AppleScript] 纯文本查看 复制代码
//钩子函数,VUE对象初始化完成后自动执行
created() {
this.findPage();
}

[AppleScript] 纯文本查看 复制代码
//分页查询
findPage() {
//分页参数
var param = {
currentPage:this.pagination.currentPage,//页码
pageSize:this.pagination.pageSize,//每页显示的记录数
queryString:this.pagination.queryString//查询条件
};
//请求后台
axios.post("/setmeal/findPage.do",param).then((response)=> {
//为模型数据赋值,基于VUE的双向绑定展示到页面
this.dataList = response.data.rows;
this.pagination.total = response.data.total;
});
} 

3.1.3 完善分页方法执行时机
除了在created钩子函数中调用findPage方法查询分页数据之外,当用户点击查询按钮或者点击分页条中的页码时也需要调用findPage方法重新发起查询请求。
为查询按钮绑定单击事件,调用findPage方法

[AppleScript] 纯文本查看 复制代码
<el‐button @click="findPage()" class="dalfBut">查询</el‐button> 

为分页条组件绑定current-change事件,此事件是分页条组件自己定义的事件,当页码改变时触发,对应的处理函数为handleCurrentChange

[AppleScript] 纯文本查看 复制代码
<el‐pagination
class="pagiantion"
@current‐change="handleCurrentChange"
:current‐page="pagination.currentPage"
:page‐size="pagination.pageSize"
layout="total, prev, pager, next, jumper"
:total="pagination.total">
</el‐pagination> 

定义handleCurrentChange方法

[AppleScript] 纯文本查看 复制代码
//切换页码
handleCurrentChange(currentPage) {
//currentPage为切换后的页码
this.pagination.currentPage = currentPage;
this.findPage();
} 

3.2 后台代码
3.2.1 Controller
SetmealController中增加分页查询方法

[AppleScript] 纯文本查看 复制代码
//分页查询
@RequestMapping("/findPage")
public PageResult findPage(@RequestBody QueryPageBean queryPageBean){
PageResult pageResult = setmealService.pageQuery(
queryPageBean.getCurrentPage(),
queryPageBean.getPageSize(),
queryPageBean.getQueryString()
);
return pageResult;
} 

3.2.2 服务接口
SetmealService服务接口中扩展分页查询方法

[AppleScript] 纯文本查看 复制代码
public PageResult pageQuery(Integer currentPage, Integer pageSize, String
queryString); 

3.2.3 服务实现类
SetmealServiceImpl服务实现类中实现分页查询方法,基于Mybatis分页助手插件实现分页

[AppleScript] 纯文本查看 复制代码
public PageResult pageQuery(Integer currentPage, Integer pageSize, String
queryString) {
PageHelper.startPage(currentPage,pageSize);
Page<CheckItem> page = checkGroupDao.selectByCondition(queryString);
return new PageResult(page.getTotal(),page.getResult());
} 

3.2.4 Dao接口
SetmealDao接口中扩展分页查询方法
[AppleScript] 纯文本查看 复制代码
 public Page<Setmeal> selectByCondition(String queryString); 


3.2.5 Mapper映射文件
SetmealDao.xml文件中增加SQL定义

[AppleScript] 纯文本查看 复制代码
<!‐‐根据条件查询‐‐>
<select id="selectByCondition" parameterType="string"
resultType="com.itheima.pojo.Setmeal">
select * from t_setmeal
<if test="value != null and value.length > 0">
where code = #{value} or name = #{value} or helpCode = #{value}
</if>
</select> 


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马