您的位置:首页 > 编程语言 > Java开发

SSM+spring boot的分页和条件查询

2018-07-26 22:53 399 查看

dao层和service层 

[code]//带条件的动态查询
List<Emp> queryEmp(@Param("deptno") Integer deptno, @Param("empname")String empname);

service实现层

[code]@Override
public List<Emp> queryEmp(Integer deptno, String empname) {
return empMapper.queryEmp(deptno,empname);
}

 daoMapper.xml层

[code]<select id="queryEmp" resultMap="BaseResultMap">
SELECT
dept.deptno dno,
dept.deptname,
dept.loc,
emp.empno,
emp.empname,
emp.job,
emp.mgr,
emp.hiredate,
emp.sal,
emp.comm,
emp.deptno eno
FROM
dept
INNER JOIN emp ON emp.deptno = dept.deptno where 1=1
<if test="deptno!=0">
and emp.deptno=#{deptno}
</if>
<if test="empname!=''">
and emp.empname like concat('%',#{empname},'%')
</if>
</select>

controller层 

[code]@RequestMapping(value = "/queryemp.do",method = RequestMethod.GET)
public String queryBook(@RequestParam(value = "deptno", required = false, defaultValue = "0") Integer deptno,
@RequestParam(value = "empname", required = false, defaultValue = "")String empname,
@RequestParam(value = "now", required = false, defaultValue = "1") Integer now, ModelMap map) {
System.out.println("========分页========");
System.out.println("姓名:"+empname);
PageHelper.startPage(now,4);
List<Emp> emps = empService.queryEmp(deptno,empname);
for (Emp emp : emps) {
System.out.println(emp);
}
PageInfo<Emp> pageInfo = new PageInfo<Emp>(emps);
List<Dept> dept=deptService.selectAllDept();
map.put("depts",dept);
map.put("pageInfo", pageInfo);
//将条件添加到map 作为回显
map.put("dept", deptno);
map.put("empname", empname);
return "index";
}

JSP页面: 

[code]<body>
<h1 style="text-align: center;">员工管理系统</h1>
<div style="height: 600px; width: 800px; margin: 0px auto;border: 1px solid white">
<form action="/queryemp.do" method="get" id="query" style="text-align: center">
部门分类<select name="emp.deptno">
<option value="0">全部</option>
<c:forEach items="${depts}" var="dept">
<option value="${dept.deptno}"<c:if test="${dept.deptno==emp.deptno}">selected="selected"</c:if>>${dept.deptname}</option>
</c:forEach>
</select> &nbsp; 员工姓名<input name="empname" value="${empname}" >
<input type="hidden" name="now" value="1" id="pageno">
<input type="submit" value="查询">
</form>
<a href="/adds.do">添加</a> &nbsp;
<button onclick="deleteAll();">批量删除</button>
<form id="delete" action="/deleteids.do" method="get">
<table border="1">
<tr>
<td><input type="checkbox" id="all"></td>
<td>员工编号</td>
<td>员工姓名</td>
<td>岗位</td>
<td>直属领导</td>
<td>入职时间</td>
<td>工资</td>
<td>奖金</td>
<td>部门编号</td>
<td>详情</td>
<td>删除</td>
<td>修改</td>
</tr>
<c:forEach items="${pageInfo.list}" var="emp">
<tr>
<td><input type="checkbox" name="empno" value="${emp.empno}"></td>
<td>${emp.empno}</td>
<td>${emp.empname}</td>
<td>${emp.job}</td>
<td>${emp.mgr}</td>
<td>${emp.hiredate}</td>
<td>${emp.sal}</td>
<td>${emp.comm}</td>
<td>${emp.dept.deptname}</td>
<td><a href="/detail.do?id=${emp.empno}">详情</a></td>
<td><a href="/delete.do?id=${emp.empno}">删除</a></td>
<td><a href="/update.do?id=${emp.empno}">修改</a></td>
</tr>
</c:forEach>
<tr>
<td colspan="11"><a onclick=" doPage(1)">首页</a>&nbsp;&nbsp;
<a onclick="doPage(${pageInfo.pageNum - 1})">上一页</a>&nbsp;&nbsp;
<a onclick="doPage(${pageInfo.pageNum + 1})" >下一页</a>&nbsp;&nbsp;
<a onclick="doPage(${pageInfo.pages})">末页</a>&nbsp;&nbsp;
${pageInfo.pageNum}/${pageInfo.pages}页</td>
</tr>
</table>
</form>
</div>
</body>
<script>
function doPage(pageno) {
//.给表单的当前也那么赋值
alert(pageno)
$("#pageno").val(pageno);
//提交查询的表单
$("#query").submit();
}
function deleteAll() {
$("#delete").submit();
}
</script>

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: