kapok

          垃圾桶,嘿嘿,我藏的這么深你們還能找到啊,真牛!

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            455 隨筆 :: 0 文章 :: 76 評論 :: 0 Trackbacks

          http://www.aygfsteel.com/jinfeng_wang/archive/2005/03/03/1654.html

          Spring
          封裝Hibernate

            有兩種手段:1、使用HibernateTemplate2、繼承HibernateDaoSupport(實際上,HibernateDaoSupport本身就是對HibernateTemplate的一個封裝)

             一切盡在代碼中,查看API唉!

          注意:hibernate 2.X和hibernate3.X的區(qū)別,我用的是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"
          "http://www.springframework.org/dtd/spring-beans.dtd">
          <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 2005-04-03 23:12 笨笨 閱讀(313) 評論(0)  編輯  收藏 所屬分類: HibernateAndSpringALL
          主站蜘蛛池模板: 天门市| 洪湖市| 游戏| 侯马市| 红河县| 朔州市| 大丰市| 武强县| 隆子县| 浦北县| 巴林左旗| 河曲县| 渭源县| 曲阜市| 尼勒克县| 什邡市| 大洼县| 叙永县| 阿尔山市| 龙州县| 紫云| 东乌珠穆沁旗| 饶阳县| 大连市| 汉中市| 台中县| 五寨县| 九江市| 宜城市| 宜宾县| 饶平县| 石屏县| 商洛市| 桃园市| 日土县| 玉田县| 辉县市| 同仁县| 霍州市| 佛坪县| 奉节县|