• hibernate session用法整理


    /** 
    * 添加 
    */ 
    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; 
    }

  • 相关阅读:
    Python--BeautifulSoup4丶Tag丶Xpath丶requests+re的基础学习及使用
    c#字符串字面量
    vim操作
    序列的方法
    python数值类型与序列类型
    Linux操作学习笔记1
    Jav的10个面向对象设计原则
    JAVA面向对象基础
    二进制 八进制 十六进制
    using 的故事
  • 原文地址:https://www.cnblogs.com/cheng07045406/p/3679262.html
Copyright © 2020-2023  润新知