• HibernateDaoSupport类的使用


    看到一篇很好描述HibernateDaoSupport类使用的例子,特此在这和大家分享一下
    核心提示:1、 继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取, 2、 在依据hql获取用户

    1、        继承了HibernateDaoSupport类的类获取session时,已不可用SessionFactory.OpenSessioon的形式来获 取Session了,由于HibernateDaoSupport本身已有获取session的方法getSession(),所以直接用Session se=this.getSession();来获取,

    2、        在依据hql获取用户信息时,继承了HibernateDaoSupport类的类中不能在使用Query类了,而是用List<Ssh> list = this.getHibernateTemplate().find(hql);形式来获取实体类集合

    实例:

    Java类篇:

    import java.util.List;    
      
    import org.hibernate.Query;   
      
    import org.hibernate.Session;   
      
    import org.hibernate.SessionFactory;   
      
    import org.springframework.context.ApplicationContext;   
      
    import org.springframework.context.support.ClassPathXmlApplicationContext;   
      
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;   
      
    import entity.Ssh;    
      
    public class SshDAO extends HibernateDaoSupport {   
      
    //  private SessionFactory sf = null;   
      
    //   
      
    //  public SessionFactory getSf() {   
      
    //     return sf;   
      
    //  }   
      
    //   
      
    //  public void setSf(SessionFactory sf) {   
      
    //     this.sf = sf;   
      
    //  }   
      
        
      
    //  public String print(int id) {   
      
    //     Session se = sf.openSession();   
      
    //     String hql = "from Ssh where id=" + id;   
      
    //     Query q = se.createQuery("hql");   
      
    //     List<Ssh> list = q.list();   
      
    //     String a = list.get(1).getName();   
      
    //     return a;   
      
    //  }   
      
        public String print(int id) {   
      
           Session se =this.getSession();//获取Session对象   
      
           String hql = "from Ssh where id=" + id;   
      
           //依据hql获取实体集合,此处不要用Query类来实现   
      
           List<Ssh> list = this.getHibernateTemplate().find(hql);   
      
           String a = list.get(0).getName();   
      
           return a;   
      
        }   
      
        public static void main(String[] args) {   
      
           ApplicationContext ac=newClassPathXmlApplicationContext   
      
    ("spring/spring.xml");   
      
           SshDAO ssh=(SshDAO)ac.getBean("sshD");   
      
           System.out.println(ssh.print(1));   
      
        }   
      
    } 

    Spring.xml 文件篇: 

    在spring中配置继承了HibernateDaoSupport的类时此处的sessionFactory不能自定义! Sf为spring中的SessionFacotry的id

    <bean id="sshD" class="dao.SshDAO">  
      
           <property name="sessionFactory">  
      
               <ref bean="sf" />  
      
           </property>  
      
        </bean>  

    注意:此种情况适应于实体Dao类时系统自动生成时

    文章来源:http://ajava.org/course/open/17629.html

                  http://www.cnblogs.com/azai/archive/2011/03/25/1995158.html#commentform

  • 相关阅读:
    015 Python 的输入输出和字符串格式化(终于可以和计算机交流了)
    1001 Attention 和 SelfAttention 的区别(还不能区分我就真的无能为力了)
    00 通过 Pytorch 实现 Transformer 框架完整代码
    02 Transformer 中 Add&Norm (残差和标准化)代码实现
    03 Transformer 中的多头注意力(MultiHead Attention)Pytorch代码实现
    04 Transformer 中的位置编码的 Pytorch 实现
    013 Python 变量的内存管理(学点底层东西显得你异于常人)
    IfcObjectPlacement
    ReflectiveOperationException
    IfcBooleanOperand
  • 原文地址:https://www.cnblogs.com/tdcqma/p/4877316.html
Copyright © 2020-2023  润新知