QBC查询实例

QBC查询实例
1.daoimp

//查询Feedback_Columns表中site字段=1,以id为倒序的最后一条记录
  *Expression.sql  
    @SuppressWarnings( " unchecked " )
    
public  List findLatest() {
        
        DetachedCriteria criteria
=DetachedCriteria.forClass(FeedbackColumns.class);
        criteria.addOrder(Order.desc(
"id"));
        criteria.add(
        Expression.sql(
"site = (?) and rownum=1""1", Hibernate.STRING) );

        List
<FeedbackColumns> result = getHibernateTemplate().findByCriteria(criteria);        
        
        
return result;
    }

//QBC中Expression.eq和Expression.allEq的应用
  前者可以应用多个单条件进行整合,后者为单一多条件
    @SuppressWarnings( " unchecked " )
    
public   List  show() {
        
    
//     HashMap  map = new HashMap();
        
// map.put("state","3");
        
// map.put("id",new Integer(15));


        DetachedCriteria criteria
=DetachedCriteria.forClass(FeedbackColumns.class);
        System.out.println(
"________________");
        
//criteria.addOrder(Order.desc("id"));
        System.out.println("________________");
        
//criteria.add(Expression.allEq(map));
        criteria.add(Expression.eq("site",new Long(1)));
        
        List result 
= getHibernateTemplate().findByCriteria(criteria);        
        
        System.out.println(result.size());
                
        
return result;
    }



JSP中应用:
       1、静态声明ctx与ics,再加个判断,起到优化的作用。(因为全局变量存放与内存当中,此处加一个判断的作用是服务器启动后,只需要加载一次SPRING)
       2、加载spring支持
       3、通过接口去访问hibernate的底层类,得到LIST的值
     <%! static  ApplicationContext ctx  =   null ;

      
static  IFeedbackColumnsService ics  =   null ; %>
    
<%
      
if  (ctx  ==   null   ||  ics  ==   null {
    ctx 
= new FileSystemXmlApplicationContext("F:/Tomcat 5.0/webapps/zmhd/WEB-INF/classes/applicationContext.xml");
     ics 
= (IFeedbackColumnsService) ctx.getBean("FeedbackColumnsServiceImpl");
      }

    List list
= ics.findLatest();        System.out.println(list.size());    request.setAttribute( " list " ,list);
     
%>

你可能感兴趣的:(QBC查询实例)