bootstrap-table与mybatis结合使用

jsp前台代码:

为了防止出现因缓存等问题致使table数据出现不刷新等问题,首先先使用destroy清空一下table

 $('#table').bootstrapTable('destroy');  

然后初始化bootstrap-table

 $('#table').bootstrapTable({
		 	method: "get", //get方式提交
		        url: "admin/note/list", //获取数据
			pagination: true,  //显示分页条
			pageNumber: 1, //初始化展示第一页
			pageSize: 10, //每页10条数据
			sidePagination: 'server', //在服务器端分页 (client为客户端)
			queryParamsType: 'limit', //使用RESTFul格式的参数 可以不写 默认就是limit
			queryParams: 
				function(params){ 
				var temp = {
					pageSize: params.limit,
					pageIndex: params.offset,
//	 				name_key:$('#searchContent').val() 
				};
				return temp;
			}, //向后台传的参数
			dataType: "json", //返回值类型
		        onLoadSuccess: function(data) {
			},//数据返回成功进行的操作
		       columns: [
						{
							field: 'Number', 
							title: '序号',
							class: 'text-center',
							formatter: function (value, row, index) {
								if (row.id!=''){
									return index+1;
								}else{
									return "";
								}
							}
						},
					     {
					        field: 'noteName', //需要和返回的Key相同
					        title: '标题'
					     }, 
					     {
					        title: '操作',
					        class: 'text-center',
					        formatter: function(value, row, index) {
					        	if(row.id!=''){
					        		return  '' + '   ' + 
					        		''
					        	}
					        }
					    }
		    		   ]
		});

后台查询数据和数量,将pageIndex和pageSize传入

List> data = adminNoteService.pageList(pageIndex,pageSize);
			long totalCount = adminNoteService.pageTotalCount();

在Dao层向mybatis传值有两种方式(当然还可以存入map传参等等这里直写了两种)

第一种 按照顺序接收参数

public List> pageList(int pageSize,int pageIndex) throws Exception;
	
	public long pageTotalCount() throws Exception;

通过#{0}接收第一个参数#{1}接收第二个参数


	

第二种 指定参数名传参
public List> pageList(@Param("pageSize") int pageSize, @Param("pageIndex") int pageIndex) throws Exception;
	
	public long pageTotalCount() throws Exception;
通过 @Param注解声明的name来接收参数 这种方法明确了参数名,推荐使用


	
并将返回的data和size存入JSON中,因为很常用,所以提出了公共类,重写了toString方法

import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TableData {
	
	private long totalCount;
	
	private JSONArray rows;
	
	public TableData(){
		rows = new JSONArray();
	}
	
	public void setTotalCount(long totalCount){
		this.totalCount= totalCount;
	}
	
	public void addRows(List list){
		rows.addAll(list);
	}
	
	public String toString(){
		JSONObject json = new JSONObject();
		json.accumulate("total", totalCount);
		json.accumulate("rows", rows);
		return json.toString();
	}

}
然后返回String类型参数

TableData table = new TableData();
table.setTotalCount(totalCount);
table.addRows(data);
return table.toString();
这样 bootstrap-table就可以使用了



你可能感兴趣的:(插件)