首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Criterion查询的例证

2012-11-19 
Criterion查询的例子java代码:public ListResourceContent findResourceBySearch(ResourceContent resou

Criterion查询的例子
java代码:
public List<ResourceContent> findResourceBySearch(  
            ResourceContent resourceContent, int off, int max, Object... date) {  
        Session session = this.getSession(true);  
 
       Criteria ca = session.createCriteria(ResourceContent.class);  
        String resourceName = null;  
 
        Criterion resource = Expression.like("name", "%" 
                + resourceContent.getName() + "%");  
        Criterion start = Expression.ge("createdTime", date[0]);  
        Criterion end = Expression.le("createdTime", date[1]);  
        Criterion typeID = Expression.eq("resourceTypeID", resourceContent  
                .getResourceTypeID());  
 
        if (resourceContent.getName() != null) {  
            ca.add(resource);  
        }  
        if (date[0] != null) {  
            ca.add(start);  
        }  
        if (date[1] != null) {  
            ca.add(end);  
        }  
        if (resourceContent.getResourceTypeID() != 0) {  
            ca.add(typeID);  
        }  
        ca.setFirstResult(off);  
        ca.setMaxResults(max);  
        ca.addOrder(Order.desc("createdTime"));  
        List<ResourceContent> resourceList = ca.list();  
        this.releaseSession(session);  
        return resourceList;  
    } 




说明:
1.Expression.eq相当于String的equals方法  
2.Expression.le比较两个属性的值,对应SQL中的“field < field”  
3.Expression.ge比较两个属性的值,对应SQL中的“field > field”  
4.ca.addOrder  排序  
5.ca.setMaxResults:每次查询的最大记录数  
6.ca.setFirstResult:偏移量

热点排行