(转)Hibernate中的Query一些基本用法
2014-05-27 14:39
393 查看
/**
* 添加
*/
public void save(Stu stu){
try {
tran=this.GetSession().beginTransaction();
this.GetSession().save(stu);
tran.commit();
} 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;
}
转自http://hlbng.iteye.com/blog/401548
* 添加
*/
public void save(Stu stu){
try {
tran=this.GetSession().beginTransaction();
this.GetSession().save(stu);
tran.commit();
} 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;
}
转自http://hlbng.iteye.com/blog/401548
相关文章推荐
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate中的Query一些基本用法
- Hibernate的一些基本用法
- bernate中的Query一些基本用法
- hibernate inverse 的基本用法
- C# Winform TreeView 的一些基本用法
- 读书摘要 C primer plus 指针的基本用法和一些需要清楚的概念(1)
- Hibernate关于聚合函数的一些用法
- 【转帖】在C#应用程序中,对comboBox这个控件的一些基本用法
- 一些基本函数的用法(中文)
- WEB标准开发中的一些基本用法(连载中...)
- 管理下虚拟机如何? libvirt的一些基本用法
- 管理下虚拟机如何? libvirt的一些基本用法
- C# Winform TreeView 的一些基本用法
- CStdioFile 一些基本用法
- 一些js基本用法
- jQuery一些基本用法