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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 沙洋县| 德格县| 公安县| 慈溪市| 郯城县| 宜丰县| 包头市| 兴海县| 上栗县| 加查县| 葫芦岛市| 清徐县| 永新县| 麻栗坡县| 新竹县| 方山县| 黔西| 通道| 岗巴县| 云梦县| 钟山县| 东海县| 突泉县| 都兰县| 广州市| 原平市| 巧家县| 武汉市| 永吉县| 普格县| 漳浦县| 昂仁县| 左云县| 区。| 白山市| 郯城县| 九寨沟县| 咸宁市| 施甸县| 漳州市| 雅江县|