数据库query用法_query方法常用的数据网站汇总

1、以前写代码,总免不了要编写登录部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现:

public  User getString name,String password){   
    Session session=HibernateUtil.getSessionFactory).openSession);   
    String hql="from User u where u.name = ? and u.password=?" ;   
    List list=session.createQueryhql).setString0 , name).setString1,password).list);   
    if  list.size)== 1 ){   
        return  User)list.get 0 );   
    }else {   
        return   null ;   
    }   
}   

2、hibernate的参考手册中,query接口提供了一个更好的方法 uniqueResult ) 用来获取实例,如果查询结果有多个值则抛出错误;结果有且只有一个值,返回一个object; 如果没值,返回null 

public User getString name,String password){   
Session session=HibernateUtil.getSessionFactory).openSession);      
String hql="from User u where u.name = ? and u.password=?";      
return User)session.createQueryhql).setString0,name).setString1,password).uniqueResult);  
}   

如果查询结果有多个值则抛出NonUniqueResultException的错误; 
如果查询结果有且只有一个值,返回一个object; 
如果没值,返回null

Published by

风君子

独自遨游何稽首 揭天掀地慰生平