跟我StepByStep学FLEX教程------Demo14Flex+Spring+Hibernate整合
说明:该文系作者原创,请勿商用或者用于论文发表,转载必须经作者同意并且注明出处。
在Demo13的基础上改造一下,就可以将Hibernate整合进来了。因此不再重复以前的配置,读者如果没有读以前的文章,请从Demo11开始。
现在开始Demo14吧:)
1、把Hibernate相关jar包拷贝到WEB-INF的lib下,这个是必须的;
2、在applicationContext.xml中配置,通过Spring方式整合Hibernate,如下:
<bean id="SessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>com/samples/spring/store/Product.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.HSQLDialect
</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
3、增加Hibernate的对象影射文件,Product.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"[]>
<hibernate-mapping package="com.samples.spring.store">
<class name="Product" table="PRODUCT">
<id name="productId" type="long" column="PRODUCT_ID"
unsaved-value="0">
<generator class="identity" />
</id>
<property name="name" column="NAME" length="40" />
<property name="category" column="CATEGORY" length="40" />
<property name="image" column="IMAGE" length="40" />
<property name="price" column="PRICE" type="double" />
<property name="qtyInStock" column="QTY_IN_STOCK" type="integer" />
<property name="description" column="DESCRIPTION" length="255" />
</class>
</hibernate-mapping>
4、改造SimpleProductDAO.java的代码:
这儿就只改了一下查询部分的代码,其它的读者自己改动,呵呵
public class SimpleProductDAO extends HibernateDaoSupport implements ProductDAO { //JdbcDaoSupport implements ProductDAO {
public List findAll() throws DataAccessException {
String sql = "from Product";
try {
System.out.println("1234567890");
List list = this.getHibernateTemplate().find(sql);
return list;
} catch (RuntimeException err) {
//
throw err;
}
}
......
}
5、在applicationContext.xml中配置更改如下:
<bean id="productDAOBean"
class="com.samples.spring.store.SimpleProductDAO">
<property name="sessionFactory">
<ref bean="SessionFactory" />
</property>
</bean>
是不是很简单啊,这儿只是给大家演示一下如何将Hibernate整合,如果项目或者产品中整合的话,那么就需要对Hibernate进行一层代码的封装(作者的建议),这样对于系统的扩展和Hibernate的版本升级造成对系统的影响会降低到最小。
对于业务层的Spring+Hibernate的整合Demo都已经做了,更多的特性和扩展读者需要根据自己的具体进行扩展学习。那么接下来就要对Flex的Web层进行讲解了。
对于Flex的开发,作者将以Adobe的开源框架Cairngorm对读者进行讲解。