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-04-30 17:37 都市淘沙者 閱讀(568) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 灵宝市| 汕头市| 西畴县| 清徐县| 巴林右旗| 永登县| 安远县| 都匀市| 义乌市| 当阳市| 佛坪县| 时尚| 黑龙江省| 屏南县| 岱山县| 六安市| 依安县| 江源县| 大兴区| 屏东市| 永顺县| 禹州市| 大港区| 万州区| 双鸭山市| 太谷县| 都江堰市| 湘阴县| 综艺| 泉州市| 北宁市| 宜宾县| 东港市| 阳春市| 额尔古纳市| 砚山县| 买车| 曲周县| 武清区| 石家庄市| 二连浩特市|