4.spring对jdbc及hibernate的支持
- spring 对jdbc的支持
提供了一个JDBCTemplate类,其中有两个模板方法:其中的两个方法很有用:
- 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>
- 使用spring托管JDBCTemplate
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="myDataSource"></property>
</bean>
若有使用此类的,可以直接注入这个bean对象。JDBCTemplate是线程安全的。
对hibernate的支持
- 配置过程
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:oradb
</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) 来实现。在接口中返回所需要的数据