ssh框架批量删除以及动态分页

1.dao层接口

//批量删除
    int deleteisd(Integer[] ids);

2.dao层实现类

    @Override
    public int deleteisd(Integer[] ids) {

        Session session = sessionFactory.openSession();
        Transaction transaction = session.beginTransaction();
        String hqldelete="delete from Emp e where e.empno  in (:ids)";
        Query query = session.createQuery(hqldelete);
        query.setParameterList("ids",ids);
        int i = query.executeUpdate();
        session.beginTransaction().commit();
        return i;
    }

3.service层实现dao层方法

4.controller层action类

定义jsp传过来参数

 private Integer empno[];
    public Integer[] getEmpno() {
        return empno;
    }
    public void setEmpno(Integer[] empno) {
        this.empno = empno;
    }
public String deletes(){
    System.out.println("=============批量删除=============");
        for(Integer ep:empno)
            System.out.println(ep);
    int deleteisd = empService.deleteisd(empno);
    System.out.println("deleteisd===========:"+deleteisd);
    return "index";
}

5.动态分页

5.1jsp页面动态分页

<script type="text/javascript">
    function doPage(pageno) {
        //.给表单的当前也那么赋值
        $("#pageno").val(pageno);
        //提交查询的表单
        $("#query").submit();
    }
    function changecheckBox(check) {
        $("input[name='empno']").attr("checked", check);
    }
    function deleteAll() {
        $("#delete").submit();
    }
</script>

<body>
    <form action="emp_query" method="post" id="query">
        员工部门分类<select name="page.deptnoid">
        <option value="0">全部</option>
            <c:forEach items="${depts}" var="type">
                <option value="${type.deptno}"
                        <c:if test="${type.deptno==deptnoid}">selected="selected"</c:if>>${type.deptname}</option>
        </c:forEach>
    </select> &nbsp; 员工名称<input name="page.empname" value="${empname}">
    </select>
        <input type="hidden" name="page.now" id="pageno" value="1">
        <input type="submit" value="查询">
    </form>
<tr>
                <td colspan="9" style="text-align: center"><a href="javascript:doPage(1);">首页</a>&nbsp;&nbsp;
                    <a href="javascript:doPage(${pageBean.pageNo-1});">上一页</a>&nbsp;&nbsp;
                    <a href="javascript:doPage(${pageBean.pageNo+1});">下一页</a>&nbsp;&nbsp;
                    <a href="javascript:doPage(${pageBean.pageTotal});">末页</a>&nbsp;&nbsp;
                    ${pageBean.pageNo}/${pageBean.pageTotal}页</td>
            </tr>

6.dao层接口写分页方法

 //按条件查询所查询到的行数
     int  selectBynameordept(String name,Integer dept);
    //分页
     List<Emp>  selectBynames(String name,Integer dept,int first,int last);

7.dao层实现类重写方法

   @Override
    public int selectBynameordept(String name, Integer dept) {
        StringBuilder sb=new StringBuilder();
        sb.append("SELECT count(*) FROM Emp e where 1=1");
        if(dept!=0&&dept!=null){
            sb.append("and e.deptno="+dept+" ");
        }
        if (!"".equals(name)&&name!=null){
            sb.append("and e.empname like '%"+name+"%'");
        }
        Query query=sessionFactory.getCurrentSession().createQuery(sb.toString());
        Long num = (Long)query.uniqueResult();
        System.out.println(num);
        return num.intValue();
    }
    @Override
    public List<Emp> selectBynames(String name, Integer dept,int first,int last) {
        StringBuilder sb=new StringBuilder();
        sb.append("FROM Emp e where 1=1");
        if(dept!=0&&dept!=null){
            sb.append("and  e.deptno="+dept+" ");
        }
        if (!"".equals(name)&&name!=null){
            sb.append("and e.empname like '%"+name+"%'");
        }
        Query query=sessionFactory.getCurrentSession().createQuery(sb.toString());
        //设置启始页
        query.setFirstResult(first);
        //设置每页的行数
        query.setMaxResults(last);
        List<Emp> list= query.list();
        return list;
    }

7.service层实现dao层方法

8.action方法类中写分页查询

    public String query(){
        List<Dept> depts = empService.selectDept();
        System.out.println("=========page========="+page);
        int i = empService.selectBynameordept(page.getEmpname(), page.getDeptnoid());
        System.out.println("有"+i+"条数据================");
        PageBean<Emp> pageBean=new PageBean<>();
        pageBean.setPageByCount(4);//每页显示的行数
        pageBean.setTotal(i);//总行数
        pageBean.setPageNo(page.getNow());//设置当前页数
        Integer frist=(pageBean.getPageNo()-1)*pageBean.getPageByCount();
        List<Emp> list = empService.selectBynames(page.getEmpname(),page.getDeptnoid(),frist,pageBean.getPageByCount());
        session.put("emps",list);
        session.put("depts", depts);
        session.put("pageBean", pageBean);
        return "query";
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值