博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在SSH框架下按条件分页查询
阅读量:4879 次
发布时间:2019-06-11

本文共 9372 字,大约阅读时间需要 31 分钟。

这里是按照条件模糊查询要查找的内容

在jsp页面:

中文名 英文名               
船员名 船舶名 违章代码 违法行为 违法依据 记分 罚款(元) 行政处罚 经办人 事发时间 事发地址 事发原由 操作
${
break.driveTable.sailorTable.sname }
${
break.driveTable.boatTable.bchinesename }
${
break.informationTable.incode }
${
break.informationTable.inillegal }
${
break.informationTable.inbasis }
${
break.informationTable.ingrade }
${
break.informationTable.inmoney }
${
break.informationTable.inpunish }
${
break.operatorTable.oname }
${
break.vitime }
${
break.viaddress }
${
break.vireason }
修改 删除
当前${mapbreak.page}页 共${mapbreak.count}页,${mapbreak.num}条 【首 页】 【上一页】 【下一页】 【末 页】 【返回初始页】
对不起,没有您想要的结果!
【返回初始页】

js代码:

var bcha=document.getElementById("bchaxun");    function bfocuscha(){        bcha.value="";    }    function bclickcha(){        var bxun=bcha.value;        if(document.getElementById("zh").checked){            location="break!getAllBreak.do?bname="+bxun+"&flag=zh";            return;        }        if(document.getElementById("yi").checked){            location="break!getAllBreak.do?bname="+bxun+"&flag=en";            return;        }    }

在dao包中,如果模糊查询的条件不是外键的情况:

/*条件查询分页显示*/    public List checkPageQuery(final String hql, final Integer page , final Integer size, final Object ...p){        return getHibernateTemplate().executeFind(new HibernateCallback(){            public Object doInHibernate(Session session)                    throws HibernateException, SQLException {                Query query = session.createQuery(hql);                if (p != null) {                    for (int i = 0; i < p.length; i++) {                        query.setParameter(i, p[i]);                    }                }                if ( page != null && size != null) {                    query.setFirstResult((page-1)*size).setMaxResults(size);                }                List list = query.list();                return query.list();            }});    }
//求按条件查询的船舶的总条数    public Integer countcBoat(final String bname, final String flag) {        return (Integer) getHibernateTemplate().execute(new HibernateCallback(){            public Object doInHibernate(Session session)                    throws HibernateException, SQLException {                String hql = "select count(*) from BoatTable where 1=1";                StringBuffer sb=new StringBuffer(hql);                if(bname!="" && bname!=null && "en".equals(flag)){                    sb.append(" and benglishname like '%"+bname+"%'");                }                if(bname!="" && bname!=null && "ch".equals(flag)){                    sb.append(" and bchinesename like '%"+bname+"%'");                }                String sql=sb.toString();                Query query = session.createQuery(sql);                Object object = query.uniqueResult();                return Integer.parseInt(object.toString());            }});    }    public String getHQL(final String bname, final String flag) {        String hql="from BoatTable where 1=1";        StringBuffer sb=new StringBuffer(hql);        if(bname!="" && bname!=null && "en".equals(flag)){            sb.append(" and benglishname like '%"+bname+"%'");        }        if(bname!="" && bname!=null && "ch".equals(flag)){            sb.append(" and bchinesename like '%"+bname+"%'");        }        sb.append(" order by bid desc");        String sql=sb.toString();        return sql;    }

在dao包下面,如果模糊查询的条件是外键的情况:

//分页显示所有船舶违章的具体信息    public List getAllBreakInformation(final String hql, final Integer page , final Integer size, final Object ...p){        return getHibernateTemplate().executeFind(new HibernateCallback(){            public Object doInHibernate(Session session)                    throws HibernateException, SQLException {                Query query = session.createQuery(hql);                if (p != null) {                    for (int i = 0; i < p.length; i++) {                        query.setParameter(i, p[i]);                    }                }                if ( page != null && size != null) {                    query.setFirstResult((page-1)*size).setMaxResults(size);                }                List
list = query.list(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); String string; Date vitime; for (ViolationTable object : list) { string=sdf.format(object.getVitime()); vitime=java.sql.Date.valueOf(string); object.setVitime(vitime); } return list; }}); } //求船舶违章记录的总条数 public Integer countBoatBreak(final String bname,final String flag) { return (Integer) getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException { String hql = "select count(*) from ViolationTable where 1=1"; StringBuffer sb=new StringBuffer(hql); if(bname!="" && bname!=null && "en".equals(flag)){ sb.append(" and driveTable.boatTable.benglishname like '%"+bname+"%'"); } if(bname!="" && bname!=null && "zh".equals(flag)){ sb.append(" and driveTable.boatTable.bchinesename like '%"+bname+"%'"); } String sql=sb.toString(); Query query = session.createQuery(sql); Object object = query.uniqueResult(); return Integer.parseInt(object.toString()); }}); } public String getHQL(final String bname,final String flag) { String hql="from ViolationTable where 1=1"; StringBuffer sb=new StringBuffer(hql); if(bname!="" && bname!=null && "en".equals(flag)){ sb.append(" and driveTable.boatTable.benglishname like '%"+bname+"%'"); } if(bname!="" && bname!=null && "zh".equals(flag)){ sb.append(" and driveTable.boatTable.bchinesename like '%"+bname+"%'"); } sb.append(" order by viid desc"); String sql=sb.toString(); return sql; }

在service下面:

//分页显示所有船舶违章信息    public Map getAllBreak(String bname,String flag,int page,int size){            String hql=violationDao.getHQL(bname, flag);        System.out.println("hql="+hql);        //求总条数        int num = violationDao.countBoatBreak(bname, flag);        System.out.println("num="+num);                //求总页数        int count = num%size==0 ? num/size : num/size+1 ;                //越界查询        if(page<1)   page = 1;        if(page>count)  page = count ;                List list = violationDao.getAllBreakInformation(hql, page, size);                Map map = new HashMap();                map.put("list", list);        map.put("page", page);        map.put("size", size);        map.put("num", num);        map.put("count", count);                return map;    }

在action下面:

//分页查询所有船舶违章信息    public String getAllBreak(){        HttpServletRequest request=ServletActionContext.getRequest();        HttpServletResponse response=ServletActionContext.getResponse();        int page =1 ;        int size = 5 ;        String pageString = request.getParameter("page");        if (pageString != null)             page = Integer.parseInt(pageString);                String sizeString = request.getParameter("size");        if(sizeString != null)            size = Integer.parseInt(sizeString);        String bname=request.getParameter("bname");        System.out.println("bname="+bname);        String flag=request.getParameter("flag");        System.out.println("flag="+flag);                Map map = breakService.getAllBreak(bname, flag, page, size);        request.setAttribute("mapbreak", map);        List operator=breakService.findAllOpe();        request.setAttribute("operator", operator);        List infor=breakService.findAllInfor();        request.setAttribute("information", infor);        return "ShowBreak";    }

 

转载于:https://www.cnblogs.com/xinxinjava/p/3200675.html

你可能感兴趣的文章
第二章例2-2
查看>>
Java8——快速入门手册(学习笔记)
查看>>
p2p-如何拯救k8s镜像分发的阿喀琉斯之踵
查看>>
linux之多进程
查看>>
iphone设置铃声
查看>>
python基础
查看>>
HDU 3277 最大流+二分
查看>>
Angular 学习笔记 :初识 $digest , $watch , $apply,浅析用法 。
查看>>
自动化测试优缺点思考
查看>>
通过实例理解委托、lambda的演变
查看>>
javascript中数据类型转换
查看>>
ubuntu14安装node0.12.7
查看>>
JDBC的使用和SQL注入问题
查看>>
Sublime插件WakaTime使用
查看>>
vue-cli笔记
查看>>
xml转义字符在mybatis动态sql中的使用
查看>>
redis为什么设计成单线程并且还这么快?
查看>>
Lesson 45-46 Kids
查看>>
CocoaPods 1.0之前版本无法pod install和pod update! 更新后CocoaPods 1.1.1 Podfile新的写法....
查看>>
Java复习第一天——数组存储位置
查看>>