Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          Spring封裝Hibernate

          有兩種手段:1、使用HibernateTemplate;2、繼承HibernateDaoSupport(實際上,HibernateDaoSupport本身就是對HibernateTemplate的

          一個封裝),一切盡在代碼中,查看API唉!

          注意:hibernate 2.X和hibernate3.X的區別,我用的是2.X 。 

          package com.company.example.dao;

          import java.util.List;
          import com.company.example.model.Student;
           
          public interface StudentDao {

              public abstract Student getStudent(final Integer id);
              public abstract void updateStudent(Student student);
              public abstract List findStudentsByLastName(String lastName);

          }

          ==================

          package com.company.example.dao.hibernateImpl;


          import java.util.List;
          import net.sf.hibernate.Hibernate;
          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Session;
          import org.springframework.orm.hibernate.HibernateCallback;
          import org.springframework.orm.hibernate.HibernateTemplate;
          import com.company.example.dao.StudentDao;
          import com.company.example.model.Student;

          public class StudentDaoHibernate implements StudentDao {

              HibernateTemplate hibernateTemplate;
              public static void main(String[] args) {

              }

              public HibernateTemplate getHibernateTemplate() {
                  return hibernateTemplate;
              }

              public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
                  this.hibernateTemplate = hibernateTemplate;

              }

              public Student getStudent(final Integer id) {
                  return (Student) hibernateTemplate.execute(new HibernateCallback() {
                      public Object doInHibernate(Session session)
                              throws HibernateException {
                          return session.load(Student.class, id);

                      }

                  });

              }

              public Student getStudent2(Integer id) {
                  return (Student) hibernateTemplate.load(Student.class, id);
              }


              public void updateStudent(Student student) {
                  hibernateTemplate.update(student);
              }

              public List findStudentsByLastName(String lastName) {
                  return hibernateTemplate.find("from Student student "
                          + "where student.lastName = ?", lastName, Hibernate.STRING);
              }
          }

          public class StudentDaoHibernate extends HibernateDaoSupport

          implements StudentDao {

           ...........

          }
          ======The Spring XML Configuration===========
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
          "<beans>
           <bean id="dataSource"
            class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiName">
             <value>java:comp/env/jdbc/trainingDatasource</value>
            </property>
           </bean>
           
           <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
            <property name="dataSource">
             <ref bean="dataSource"/>
            </property>
            <property name="hibernateProperties">
             <props>
              <prop key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</prop>
             </props>
            </property>
            <property name="mappingResources">
             <list> <!--list of each hbm.xml-->
              <value>Student.hbm.xml</value>
              <value>Course.hbm.xml</value>
             </list>
            </property>
            <property name="mappingDirectoryLocations">
             <list>
              <!--list the directory of the hbm.xml, including each xml file in the dir-->
              <value>classpath:/com/springinaction/training/model</value>
             </list>
            </property>
           </bean>
           
           <bean id="hibernateTemplate"
            class="org.springframework.orm.hibernate.HibernateTemplate">
            <property name="sessionFactory">
             <ref bean="sessionFactory"/>
            </property>
           </bean>

           <bean id="studentDao" class="com.company.example.dao.hibernateImpl.StudentDaoHibernate">
            <property name="hibernateTemplate">
             <ref bean="hibernateTemplate"/>
            </property>
           </bean>

           <bean id="courseDao" class="com.company.example.dao.hibernateImpl.CourseDaoHibernate">
            <property name="hibernateTemplate">
             <ref bean="hibernateTemplate"/>
            </property>
           </bean>
          </beans>

          posted on 2006-02-24 21:18 都市淘沙者 閱讀(328) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 北碚区| 乐亭县| 洛浦县| 大丰市| 确山县| 汤阴县| 辽宁省| 庆城县| 奉化市| 蒙自县| 靖远县| 杨浦区| 昌乐县| 莆田市| 灵璧县| 建宁县| 龙岩市| 永嘉县| 屏边| 曲沃县| 财经| 昌江| 普定县| 华安县| 南木林县| 河池市| 吴桥县| 阿坝县| 柳河县| 嘉峪关市| 井研县| 辽宁省| 牡丹江市| 和田县| 永吉县| 郯城县| 洪雅县| 玛曲县| 亚东县| 永和县| 长春市|