首页系统query.uniqueresult(query.uniqueResult)

query.uniqueresult(query.uniqueResult)

编程之家2024-02-07106次浏览

一、hibernate mapping中的sql-query怎么使用

Hibernate对原生 SQL查询的支持和控制是通过SQLQuery接口实现的。通过Session接口,我们能够很方便的创建一个SQLQuery(SQLQuery是一个接口,在Hibernate4.2.2之前,默认返回的是SQLQuery的实现类——SQLQueryImpl对象,在下文中出现的SQLQuery如非注明,都是指该子类)对象来进行原生SQL查询:

query.uniqueresult(query.uniqueResult)

session.createSQLQuery(String sql);

SQLQuery实现了Query接口,因此你可以使用Query接口中提供的API来获取数据。

最简单的示例

//获取所有查询结果 session.createSQLQuery("select* from note").list();//仅获取第一条结果 session.createSQLQuery("select* from note where id= 1").uniqueResult();

二、hibernate Query方法

/**

*添加

query.uniqueresult(query.uniqueResult)

*/

public void save(Stu stu){

try{

tran=this.GetSession().beginTransaction();

this.GetSession().save(stu);

tran.commit();

query.uniqueresult(query.uniqueResult)

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

}

/**

*使用HQL全查询

*/

public List getallbyHQL(){

List arr=null;

try{

String hql="from Stu";

Query query=this.GetSession().createQuery(hql);

arr=query.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*根据主键查询

*/

public Stu getbyID(int id){

Stu stu=null;

try{

stu=(Stu) this.GetSession().get(Stu.class, id);

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return stu;

}

/**

*根据对象属性查询(使用Query)

*/

public List getbyPropertyQuery(String name){

List arr=null;

try{

//这里不能像SQL语一样select* from Stu where SName=:name,这是不对的。

// Query query=this.GetSession().createQuery("from Stu where SName=:name");

// query.setString("name", name);

//或者

Query query=this.GetSession().createQuery("from Stu where SName=?");

query.setString(0, name);

arr=query.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*根据对象属性查询(使用Criteria)

*/

public List getbyPropertyCriteria(String name){

List arr=null;

try{

Criteria cri=this.GetSession().createCriteria(Stu.class);

Criterion c1=Expression.eq("SName", name);

cri.add(c1);

arr=cri.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*查询部分属性

*/

public List getProperty(){

List arr=new ArrayList();

try{

String hql="select s.SName,s.SSex from Stu as s";

Query query=this.GetSession().createQuery(hql);

List list=query.list();

Iterator iter=list.iterator();

while(iter.hasNext()){

Object[] obj=(Object[]) iter.next();

Stu s=new Stu();

s.setSName(obj[0].toString());

s.setSSex(obj[1].toString());

arr.add(s);

}

} catch(HibernateException e){

this.CloseSession();

}

return arr;

}

/**

*查询一个属性

*/

public List getoneProperty(){

List arr=new ArrayList();

try{

String hql="select s.SName from Stu as s";

Query query=this.GetSession().createQuery(hql);

Iterator iter=query.iterate();

while(iter.hasNext()){

Object obj=(Object) iter.next();

Stu s=new Stu();

s.setSName(obj.toString());

arr.add(s);

}

} catch(HibernateException e){

this.CloseSession();

}

return arr;

}

/**

*查询一个对象一个属性值

*/

public Object getonlyProprotyValue(int s_id){

Object obj=null;

try{

String hql="select s.SName from Stu as s where s.SId=?";

Query query=this.GetSession().createQuery(hql);

query.setInteger(0, s_id);

obj=query.uniqueResult();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return obj;

}

/**

* SQL查询

*/

public List getallBYSQL(){

List arr=null;

try{

String sql="select{c.*} from stu as c";

SQLQuery sqlquery=this.GetSession().createSQLQuery(sql);

sqlquery.addEntity("c",Stu.class);

arr=sqlquery.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*根据对象查询

*/

public List getallByObject(Stu s){

List arr=null;

try{

String hql="from Stu as s where s=:stuentity";

//或者

//String hql="from Stu as s where s.SId=:stuentity";

Query query=this.GetSession().createQuery(hql);

query.setEntity("stuentity", s);

arr=query.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*模糊查询

*/

public List getallQueryLike(String name){

List arr=null;

try{

String hql="from Stu as s where s.SName like:name";

Query query=this.GetSession().createQuery(hql);

query.setString("name","%"+name+"%");

//不能

//query.setString("name","'%"+name+"%'");

arr=query.list();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return arr;

}

/**

*统计函数

*/

public int CountStu(){

int count=0;

try{

String hql="select count(*) from Stu";

Query query=this.GetSession().createQuery(hql);

count=(Integer) query.uniqueResult();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return count;

}

/**

*条件统计

*/

public int CountByWhere(String sex){

int count=0;

try{

Query query=this.GetSession().createQuery("select count(*) from Stu where SSex=:sex");

query.setString("sex", sex);

count=(Integer)query.uniqueResult();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return count;

}

/**

*统计平均值

*/

public float VagAge(){

float vag=0;

try{

Query query=this.GetSession().createQuery("select avg(SAge) from Stu");

vag=(Float)query.uniqueResult();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return vag;

}

/**

*求和函数

*/

public int sumage(){

int sum=0;

try{

Query query=this.GetSession().createQuery("select sum(SAge) from Stu");

sum=(Integer)query.uniqueResult();

} catch(HibernateException e){

throw e;

}finally{

this.CloseSession();

}

return sum;

}

希捷 固件门(揭秘硬盘希捷固件门,涉及个人隐私数据安全。)服务器状态查询(怎么查看服务器状态信息)