springmvc mybatis 分页 控制层及sql语句 oracle mysql easyui

/**
* 分页条件查询用户
* @param page
* @param rows
* @param s_user
* @param response
* @return
* @throws Exception   page  rows total是easyui分页属性 easyui 自带 不需要定义
*/ 
@RequestMapping(value="/list")
public String list(@RequestParam(value="page",required=false)String page,
                 @RequestParam(value="rows",required=false)String rows,
               User s_user,HttpServletResponse response)throws Exception{
PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows));
Map<String,Object> map=new HashMap<String,Object>();
map.put("userName", s_user.getUserName());
/*map.put("start", pageBean.getStart());
map.put("size", pageBean.getPageSize()); 对应是mysql*/
map.put("start", pageBean.getStartRow()); //对应是oracle
map.put("size", pageBean.getEndRow());
List<User> userList=userService.find(map);
int total=userService.getTotal(map);
JSONObject result=new JSONObject();
JSONArray jsonArray=JSONArray.fromObject(userList);
result.put("rows", jsonArray);
result.put("total", total);
ResponseUtil.write(response, result);
return null;

}


mapper.xml


<!--分页返回类型list 可以使用map User对应的是resultMap size每页的大小 oracle-->
<select id="find" resultMap="User" parameterType="Map">
select t2.* from 
( select t1.*,rownum rn from t_user t1 
    <where> 
    <if test ="userName !=null and userName !='' ">
t1.userName like  '%'||#{userName,jdbcType=VARCHAR}||'%'
</if>
    </where>
) t2
   <where>
    <if test ="start !=null and start !=''">
       <![CDATA[and t2.rn >=#{start}]]>
       </if>
     
       <if test ="size !=null and size !=''">
    and  <![CDATA[t2.rn <#{size}]]>
    </if>
  </where>
</select>

<!--分页返回类型list 可以使用map User对应的是resultMap size每页的大小 mysql-->

<select id="find" parameterType="Map" resultMap="User">
select * from t_user
<where>
<if test="userName!=null and userName!='' ">
and userName like  '%'||#{userName,jdbcType=VARCHAR}||'%'
</if>
</where>
<if test="start!=null and size!=null">
limit #{start},#{size}
</if>
</select>


<!--获取总记录数 -->
<select id="getTotal" parameterType="Map" resultType="java.lang.Integer">
select count(1) from t_user
<where> 
     <if test ="userName !=null and userName !='' ">
 userName like '%'||#{userName,jdbcType=VARCHAR}||'%'
</if>
       </where>
</select>

页面:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/easyui/themes/icon.css" />
<script type="text/javascript" src="${pageContext.request.contextPath}/jquery/jquery-2.1.3.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/easyui/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript">
var url;
 function searchUser(){
$("#dg").datagrid('load',{
"userName":$("#s_userName").val() 
});

 }
 function openUserAddDialog(){
$("#dlg").dialog("open").dialog("setTitle","添加用户");
url="${pageContext.request.contextPath}/userController/saveUser.do"
 }
 function openUserModifyDialog(){
var selectedRows=$("#dg").datagrid("getSelections");//返回的是一个集合数组 
if(selectedRows.length!=1){
$.messager.alert("系统提示","请选择一条要编辑的数据!");
return;
}
var row=selectedRows[0];//获取一条数据修改
$("#dlg").dialog("open").dialog("setTitle","编辑用户信息");
$("#fm").form("load",row);//加载所有字段信息
url="${pageContext.request.contextPath}/userController/saveUser.do?id="+row.id;
 }
 
 function saveUser(){
$("#fm").form("submit",{
url:url,
onSubmit:function(){
if($("#roleName").combobox("getValue")==""){
$.messager.alert("系统提示","请选择用户角色!");
return false;
}
return $(this).form("validate");
},
success:function(result){
var result=eval('('+result+')');
if(result.success){
$.messager.alert("系统提示","保存成功!");
resetValue();
$("#dlg").dialog("close");
$("#dg").datagrid("reload");
}else{
$.messager.alert("系统提示","保存失败!");
return;
}
}
});
 }
 
 function resetValue(){
$("#userName").val("");
$("#password").val("");
$("#trueName").val("");
$("#email").val("");
$("#phone").val("");
$("#roleName").combobox("setValue","");
 }
 
 function closeUserDialog(){
$("#dlg").dialog("close");
resetValue();
 }
 
 function deleteUser(){
var selectedRows=$("#dg").datagrid("getSelections");
if(selectedRows.length==0){
$.messager.alert("系统提示","请选择要删除的数据!");
return;
}
var strIds=[];
for(var i=0;i<selectedRows.length;i++){
strIds.push(selectedRows[i].id);
}
var ids=strIds.join(",");
$.messager.confirm("系统提示","您确定要删除这<font color=red>"+selectedRows.length+"</font>条数据吗?",function(r){
if(r){
$.post("${pageContext.request.contextPath}/userController/deleteUser.do",{ids:ids},function(result){
if(result.success){
$.messager.alert("系统提示","数据已成功删除!");
$("#dg").datagrid("reload");
}else{
$.messager.alert("系统提示","数据删除失败,请联系系统管理员!");
}
},"json");

});
 }
</script>
<title>Insert title here</title>
</head>
<body style="margin: 1px">

<!-- pagination="true" rownumbers="true" 设置就是分页 设置他即可 -->springmvc mybatis 分页 控制层及sql语句 oracle mysql easyuispringmvc mybatis 分页 控制层及sql语句 oracle mysql easyuispringmvc mybatis 分页 控制层及sql语句 oracle mysql easyuispringmvc mybatis 分页 控制层及sql语句 oracle mysql easyui
 <table id="dg" title="用户管理" class="easyui-datagrid"
   fitColumns="true" pagination="true" rownumbers="true"
   url="${pageContext.request.contextPath}/userController/list.do"  fit="true" toolbar="#tb">
   <thead>
    <tr>
    <th field="cb" checkbox="true" align="center"></th>
    <th field="id" width="50" align="center">编号</th>
    <th field="userName" width="50" align="center">用户名</th>
    <th field="password" width="50" align="center">密码</th>
    <th field="trueName" width="50" align="center">真实姓名</th>
    <th field="email" width="50" align="center">邮件</th>
    <th field="phone" width="50" align="center">联系电话</th>
    <th field="roleName" width="50" align="center">角色</th>
    </tr>
   </thead>
 </table>
 <div id="tb">
  <div>
  <a href="javascript:openUserAddDialog()" class="easyui-linkbutton" iconCls="icon-add" plain="true">添加</a>
  <a href="javascript:openUserModifyDialog()" class="easyui-linkbutton" iconCls="icon-edit" plain="true">修改</a>
  <a href="javascript:deleteUser()" class="easyui-linkbutton" iconCls="icon-remove" plain="true">删除</a>
  </div>
  <div><!-- event.keyCode==13 是按了enter键 -->
  &nbsp;用户名:&nbsp;<input type="text" id="s_userName" size="20" onkeydown="if(event.keyCode==13) searchUser()"/>
  <a href="javascript:searchUser()" class="easyui-linkbutton" iconCls="icon-search" plain="true">搜索</a>
  </div>
 </div>
 <div id="dlg" class="easyui-dialog" style="width:620px;height:250px;padding: 10px 20px;"
    closed="true" buttons="#dlg-buttons">
    
   <form id="fm" method="post">
    <table cellspacing="8px">
    <tr>
    <td>用户名:</td>
    <td><input type="text" id="userName" name="userName" class="easyui-validatebox" required="true"/>&nbsp;<font color="red">*</font></td>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td>密码</td>
    <td><input type="text" id="password" name="password" class="easyui-validatebox" required="true"/>&nbsp;<font color="red">*</font></td>
    </tr>
    <tr>
    <td>真实姓名:</td>
    <td><input type="text" id="trueName" name="trueName" class="easyui-validatebox" required="true"/>&nbsp;<font color="red">*</font></td>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td>邮箱:</td>
    <td><input type="text" id="email" name="email" class="easyui-validatebox" validType="email" required="true"/>&nbsp;<font color="red">*</font></td>
    </tr>
    <tr>
    <td>联系电话:</td>
    <td><input type="text" id="phone" name="phone" class="easyui-validatebox" required="true"/>&nbsp;<font color="red">*</font></td>
    <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td>用户角色</td>
    <td>
    <select class="easyui-combobox" id="roleName" name="roleName" style="width: 154px" editable="false" panelHeight="auto">
    <option value="">请选择角色...</option>
    <option value="系统管理员">系统管理员</option>
    <option value="销售主管">销售主管</option>
    <option value="客户经理">客户经理</option>
    <option value="高管">高管</option>
    </select>
    &nbsp;<font color="red">*</font>
    </td>
    </tr>
    </table>
   </form>
 </div>
 
 <div id="dlg-buttons">
  <a href="javascript:saveUser()" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
  <a href="javascript:closeUserDialog()" class="easyui-linkbutton" iconCls="icon-cancel">关闭</a>
 </div>
</body>
</html>