4.spring对jdbc及hibernate的支持

  1. spring 对jdbc的支持

提供了一个JDBCTemplate类,其中有两个模板方法:其中的两个方法很有用:

 

  1. spring 数据源的配置

使用apache提供的dbcp数据源的配置

在spring 配置文件中加入如下代码:

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"

       destroy-method="close">

       <property name="driverClassName" value="com.mysql.jdbc.Driver" />

       <property name="url" value="jdbc:mysql://localhost:3306/mydb" />

       <property name="username" value="root" />

       <property name="password" value="masterkaoli" />

    </bean>

 

  1. 使用spring托管JDBCTemplate

        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

    <property name="dataSource" ref="myDataSource"></property>

</bean>

若有使用此类的,可以直接注入这个bean对象。JDBCTemplate是线程安全的。

 

 

hibernate的支持

  1. 配置过程

      DataSource -> LocalSessionFactoryBean --> HibernateTemplate --> Dao

   |-driver        |- datasource             |- sessionFactory

   |-url           |- Hibernate properties

   |-username      |- mapping file

   |-password

一个示例配置文件

 

<bean class="org.apache.commons.dbcp.BasicDataSource">

       <property>

           <value>oracle.jdbc.driver.OracleDriver</value>

       </property>

       <property>

           <value>jdbc:oracle:thin:@192.168.0.200:1521:oradb10g</value>

       </property>

       <property>

           <value>cksd0810</value>

       </property>

       <property>

           <value>cksd0810</value>

       </property>

    </bean>

    //下面的配置可以替换hibernate.config.xml  一般ssh融合时就是这么做的

    <bean class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

       <property>

           <ref local="dataSource"/>

       </property>

       <property>

           <props>

              <prop key="hibernate.show_sql">true</prop>

              <prop key="hibernate.format_sql">true</prop>

              <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>

           </props>

       </property>

       <property>

           <list>

              <value>homework/Teacher.hbm.xml</value>

           </list>

       </property>

    </bean>

   

    <bean class="org.springframework.orm.hibernate3.HibernateTemplate">

       <property>

           <ref bean="sessionFactory"/>

       </property>

    </bean>

   

    <bean class="hibernate.TeacherDaoHbImpl">

       <property>

           <ref bean="template"/>

       </property>

    </bean>

 

Spring 提供对hibernate支持的主要类为HibernateTemplate,提供了很多与hibernate中session对应的方法

若是找不到对应方法时可以用HibernateTemplate的update(HibernateCallback args) 来实现。在接口中返回所需要的数据

posted @ 2010-05-03 17:36  沉兮  阅读(517)  评论(0编辑  收藏  举报