使用hibernatetemplate的几种方法

来源:互联网 发布:网络订餐 方便面 编辑:程序博客网 时间:2024/06/05 16:37

1.自己在beans.xml文件中写上

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  <property name="driverClassName">    <value>com.mysql.jdbc.Driver</value>  </property>  <property name="url">    <value>jdbc:mysql://localhost:3306/hibernate</value>  </property>  <property name="username">    <value>root</value>  </property>  <property name="password">    <value>zk19921027</value>  </property></bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">        <property name="dataSource" ref="dataSource"/>        <property name="annotatedClasses">    <list >    <value>com.zk.register.model.User</value>     </list>    </property>        <property name="hibernateProperties">    <props>      <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>      <prop key="hibernate.show_sql">true</prop>    </props>    </property>  </bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"><property name="sessionFactory" ref="sessionFactory"></property></bean>
然后再daoimpl层将hibernatetemplate注入进去,这是可以使用它的find(),save()方法等

2.第二种daoimpl直接继承hibernatedaosupport来实现hibernatetempl,但是在这里要注意的是必须注入在父类中注入userservice,所以我们要重写父类的setuserservice的方法

@Resourcepublic void setSessionfactory(SessionFactory sessionfactory) {this.setSessionFactory(sessionfactory);}

3.第三种方法使用xml的方法,在applicationcontext.xml文件中的userdao的bean中注入userservice,而在userdao中没有相应的userservice,这时就会主动的将userservice注入到dao的父类中去

<bean id="userDao" class="com.test.dao.impl.UserDaoImpl"scope="singleton"><property name="sessionFactory"><ref bean="sessionFactory" /></property></bean>