您的位置:首页 > 数据库 > Oracle

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

2017-07-09 19:50 609 查看
/**

* 分页条件查询用户

* @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" 设置就是分页 设置他即可 -->








<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键 -->

 用户名: <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"/> <font color="red">*</font></td>

<td>    </td>

<td>密码</td>

<td><input type="text" id="password" name="password" class="easyui-validatebox" required="true"/> <font color="red">*</font></td>

</tr>

<tr>

<td>真实姓名:</td>

<td><input type="text" id="trueName" name="trueName" class="easyui-validatebox" required="true"/> <font color="red">*</font></td>

<td>    </td>

<td>邮箱:</td>

<td><input type="text" id="email" name="email" class="easyui-validatebox" validType="email" required="true"/> <font color="red">*</font></td>

</tr>

<tr>

<td>联系电话:</td>

<td><input type="text" id="phone" name="phone" class="easyui-validatebox" required="true"/> <font color="red">*</font></td>

<td>    </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>

 <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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息