-
分页语法格式
select *from 表名 limt (开始条数,每页几条)
-
步骤:
-
supportAjaxPage : true,//开启支持分页功能
1.工具gridmanager提供了分页功能,我们去引入currentpagedata(当前页) 和pageSize(每页条数)
前台传过来了,后台就去接收
2把currentpage和pageSize封装到BaseQuery中(提高代码复用率,其他需要分页直接继承即可)
3 如果使用工具类来实现分页,那么就必须给他准备data分页数据,totals每页总条数。
4为了规范这两个参数,我们就把他们两个封装成一个pagalist类
5在service层写findpagelist 方法去查询分页数据(先查询总条数,如果总条数为0直接返回空的一个集合,不为0在进行分页查询。)
6写mapper对应的方法
7写maper映射文件 查询总条数和分页查询。
注意:查询到的分页数据要重新设置类型。controller返回一个pagelist 把查询到的分页数据返回,page与pageSize要与工具类的对应,不然分页效果出不来。
高级查询
1准备表单,通过文章标题和文章类型(查询到所有的文章类型,通过model绑定传到前台。用el表达式遍历)以及启用状态来查询
2方式一:给查询按钮绑定事件,通过过jQuery对象.val取值,
封装成一个json对象传到后台。
//使用jQuery对象.val取值
//下拉列表 文本框 文本域 都是用val()来取值
//获取标题的值
/* var title = $("#title").val();
//获取文章类型id
var typeId = $("#typeId").val();
//获取是否启用禁用对应的值
var enable = $("#enable").val();
//根据条件查询列表
var obj = {'title':title,'typeId':typeId,"enable":enable};
//gridmanager查询条件要封装成一个json对象
GridManager.setQuery( 'demo-baseCode',obj); */
3 方式二:引入jquery.jdikr.js文件,调用其方法,它会自动把form表单中的元素封装成一个json对象,使用工具类gridmanager中的setQuery方法去查询
//方式二
//serializeObject 把form表单内部的元素,直接封装成json对象
var jsonObj = $("#seacherForm").serializeObject();
//gridmanager的查询(setQuery gridmanager给大家准备的 )
GridManager.setQuery('demo-baseCode', jsonObj);
4 将mapper查询总条数添加条件通过条件查询满足的文章,添加查询条件到ArticleQuery中
/**
* 查询条件 1.文章标题 2.文章类型 3是否启用
*/
/**查询条件*/
private String title;
/**文章类型*/
private Integer typeId;
/**是否启用*/
private Integer enable;
5.修改impl和mapper映射文件 然后添加where动态条件 注意提取公共sql
注意:判断字符串的不为空,空字符串。数值型的不为空。