zoukankan      html  css  js  c++  java
  • extjs 查询条件和列表

    1. ext中日期框直接使用getValue()提交给Struts2的Action时,Struts会自动把日期值填充到日期变量中(java.util.Date).

    使用Hibernate的DetachedCriteria查询记录时,可以直接使用诸如

    criteria.add(Restrictions.gt("startTime",startTime)); //startTime为java.util.Date对象

    来进行日期对象的比较。注:当前数据库环境为oracle10g.

    2.前台每一个查询表单域的name设置为列表对象的属性名。提交时代码如下:

    var queryForm=Ext.getCmp(formId);					
    Ext.apply(store.baseParams,queryForm.form.getFieldValues()); //获得当前分页条的设置大小 var pageSize=Ext.getCmp(gridId).getBottomToolbar().pageSize; store.load({ params:{ start:0, limit:pageSize } });

    3.Struts中的Action  implements ModelDriven<MyClass> ,生成DetachedCriteria对象的方法如下:

     private DetachedCriteria getCriteria(MyClass example){
        	DetachedCriteria criteria=DetachedCriteria.forClass(MyClass .class);
        	if(example!=null){ 		
    			if(!isNull(example.getCalledUser()))  
    				criteria.add(Restrictions.like("calledUser",example.getCalledUser(),MatchMode.ANYWHERE));
    			if(!isNull(example.getType())){
    				criteria.add(Restrictions.eq("type", example.getType()));
    			}
    			if(!isNull(example.getStatus())){
    				criteria.add(Restrictions.eq("status", example.getStatus()));
    			}
    			if(!isNull(example.getStartTime())){
    				criteria.add(Restrictions.gt("startTime",example.getStartTime()));
    			}
    			if(!isNull(example.getEndTime())){
    				criteria.add(Restrictions.lt("endTime",example.getEndTime()));
    			}
        	}
        	return criteria;
        }
    

    然后根据criteria生成列表:

    	public List getMyClassList(MyClass example, Integer start, Integer limit){
    		DetachedCriteria criteria=getCriteria(example);
        	criteria.addOrder(Order.asc("id")); //id为MyClass的一个属性
    		List list; 
        	if(limit!=-1)
    			list=getHibernateTemplate().findByCriteria(criteria, start, limit);
    		else 
    			list=getHibernateTemplate().findByCriteria(criteria);
        	
    		return list;	
    	}
    

    求总记录数的方法如下:

    	public int getCounts(MyClass example) {
    		Session session=getSessionFactory().getCurrentSession();
    		DetachedCriteria dc=getCriteria(example);
    		dc.setProjection(Projections.rowCount());
    		Criteria crit=dc.getExecutableCriteria(session);
    		return Integer.parseInt(crit.uniqueResult().toString());	
    	}
    

      

  • 相关阅读:
    读取Config文件工具类 PropertiesConfig.java
    MD5编码工具类 MD5Code.java
    文件上传工具类 UploadUtil.java
    删除文件夹工具类 DeleteFolder.java
    目录处理工具类 DealWithDir.java
    文件/目录部分处理工具类 DealDir.java
    目录操作工具类 CopyDir.java
    功能更强大的格式化工具类 FormatUtils.java
    日期转换工具类 CommUtil.java
    MVC学习笔记1-MVC家族间的区别
  • 原文地址:https://www.cnblogs.com/tazi/p/2759104.html
Copyright © 2011-2022 走看看