一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法技术

技术编号:19098733 阅读:33 留言:0更新日期:2018-10-03 02:44
本发明专利技术涉及SSM框架技术领域,特别涉及一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法。本发明专利技术的方法是从BootstapTable中获取分页与排序参数及查询关键词等信息;然后把分页与排序信息设值到PageHelper中,根据PageHelper及关键词从数据库中进行查询,把查询到的集合结果添加到PageInfo中;最后通过自定义封装类把PageInfo以Json格式返回到BootstapTable中,并在其columns属性中加载出来。本发明专利技术解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。

【技术实现步骤摘要】
一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法
本专利技术涉及SSM框架
,特别涉及一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法。
技术介绍
在进行基于SSM框架的系统的网页要进行分页时,如果使用手工拼接分页查询语句,首先容易拼写出错,需要大量的时间进行调试,其次其移植性非常差,一旦系统换数据库,就得重新拼写分页查询语句,造成大量重复的工作;另外如果前端使用传统的表格,不但样式需要自己写,还有大量的触发脚本也要重新开发;为了解决这些问题,需要实现一种即简洁易调用的又能跨数据平台的分页与排序方法。
技术实现思路
本专利技术解决的技术问题在于提供一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法;解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。本专利技术解决上述技术问题的技术方案是:从BootstapTable中获取分页与排序参数及查询关键词等信息;然后把分页与排序信息设值到PageHelper中,根据PageHelper及关键词从数据库中进行查询,把查询到的集合结果添加到PageInfo中;最后通过自定义封装类把PageInfo以Json格式返回到BootstapTable中,并在其columns属性中加载出来。从而解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。所述的方法具体包括如下步骤:步骤一、后台引入PageHelper依赖包,前端导入BootstapTable脚本与样式;步骤二、在控制层获取从前端BootstapTable中传来的分页与排序参数及查询关键词等信息;步骤三、在实现层把分页与排序信息设值到PageHelper中;步骤四、使用PageHelper及关键词对数据库进行查询;步骤五、把查询到的集合结果添加到PageInfo中;步骤六、通过自定义封装类DataGrid把PageInfo以Json格式返回;步骤七、BootstapTable接收到数据,通过其columns属性加载出来。本专利技术的有益效果:从BootstapTable中获取分页与排序参数及查询关键词等信息;然后把分页与排序信息设值到PageHelper中,根据PageHelper及关键词从数据库中进行查询,把查询到的集合结果添加到PageInfo中;最后通过自定义封装类把PageInfo以Json格式返回到BootstapTable中,并在其columns属性中加载出来,从而达到分页与数据库无关、不需要手写分页语句及排版表格样式的目的。有效解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。具体实施方式如图1所示,本专利技术采用如下步骤:步骤一、后台引入PageHelper依赖包,前端导入BootstapTable脚本与样式;步骤二、在控制层获取从前端BootstapTable中传来的分页与排序参数及查询关键词等信息;//queryParams参数包含有分页与排序参数及查询关键词等信息@RequestMapping("/listByPage.action")@ResponseBodypublicDataGridlistByPage(@RequestBodyQueryParamsqueryParams){returnbaseService.listByPage(queryParams);}步骤三、在实现层把分页与排序信息设值到PageHelper中;PageHelper.offsetPage(queryParams.getOffset(),queryParams.getLimit());if(StringUtil.isNotEmpty(queryParams.getSort())&&StringUtil.isNotEmpty(queryParams.getOrder())){PageHelper.orderBy(queryParams.getSort()+""+queryParams.getOrder());}步骤四、使用PageHelper及关键词对数据库进行查询;List<Condition>whereList=queryParams.filtersToDBConditionals();whereList.add(Condition.createEq("title",queryParams.getKeywords());whereList.add(Condition.create("IFNULL(deleteFlag,'')",-1,Condition.OpType.NE));whereList.add(Condition.createEq("typeFlag",params[0]));Map<String,Object>map=newHashMap<String,Object>();map.put("whereList",whereList);Listlist=ydyAccountDAO.listByPage(map);步骤五、把查询到的集合结果添加到PageInfo中;PageInfopageInfo=newPageInfo(list);步骤六、通过自定义封装类DataGrid把PageInfo以Json格式返回;//自定义DataGridpublicclassDataGridimplementsSerializable{privatelongtotal;privateListrows=newArrayList();publicDataGrid(){}publicDataGrid(longtotal,Listrows){this.total=total;this.rows=rows;}//get与set方法……}//返回以DataGrid为格式的Json数据returnnewDataGrid(pageInfo.getTotal(),pageInfo.getList());步骤七、BootstapTable接收到数据,通过其columns属性加载出来;//表格<tableid="table"class="table-stripedtable-hovertable-condensed"data-mobile-responsive="true"></table>//加载数据initBootstrapTable('#table',{url:url,sortName:'createDate',sortOrder:'asc',columns:columns});//表格列信息varcolumns=[{checkbox:true},{field:‘id',title:'id',align:'center',valign:'middle'},{field:‘title’,t本文档来自技高网...

【技术保护点】
1.一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法,其特征在于:从BootstapTable中获取分页与排序参数及查询关键词等信息;然后把分页与排序信息设值到PageHelper中,根据PageHelper及关键词从数据库中进行查询,把查询到的集合结果添加到PageInfo中;最后通过自定义封装类把PageInfo以Json格式返回到BootstapTable中,并在其columns属性中加载出来;从而解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。

【技术特征摘要】
1.一种把PageHelper与BootstapTable结合实现跨平台分页与排序的方法,其特征在于:从BootstapTable中获取分页与排序参数及查询关键词等信息;然后把分页与排序信息设值到PageHelper中,根据PageHelper及关键词从数据库中进行查询,把查询到的集合结果添加到PageInfo中;最后通过自定义封装类把PageInfo以Json格式返回到BootstapTable中,并在其columns属性中加载出来;从而解决了分页不能跨数据库平台、需要自己拼接分页查询语句及需花费大量时间排版表格样式来展示分页等问题。2.根据权利要求1所述的基于SSM框架的一种把PageHelper与BootstapT...

【专利技术属性】
技术研发人员:陈林张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1