首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

SSH调整终结版(一)

2012-12-28 
SSH整合终结版(一)本文主要讨论Spring2.5+Hibernate3.2+Struts1.2.9的整合。人们通常讲“一口吃不成胖子”,SS

SSH整合终结版(一)

本文主要讨论Spring2.5+Hibernate3.2+Struts1.2.9的整合。

人们通常讲“一口吃不成胖子”,SSH的整合也是一样的,最好是按步骤一步一步来。

整合之前必需的工作是将Spring、Hibernate和Struts所需的jar文件准备好(为文章叙述更为调理,这步工作不在此赘述,详情请看作者的另一篇日志《SSH整合所需jar文件的下载》)。本项目采用数据库为MySQL5.1,MyEclipse版本为5.5.1

下面我们利用Eclipse工具创建一个Web项目(Web Project),项目名称为SSH,建议大家采用J2EE 5.0规范。

首先,我们对Spring和Hibernate进行整合。

第一步,将Spring、Hibernate所需jar包拷贝到WEB-INF/lib目录中。

第二步,在类路径下创建Spring配置文件beans.xml。beans.xml文件的模板如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
?????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
?????? xmlns:context="http://www.springframework.org/schema/context"
??????? xmlns:aop="http://www.springframework.org/schema/aop"
???????? xmlns:tx="http://www.springframework.org/schema/tx"
?????? xsi:schemaLocation="http://www.springframework.org/schema/beans
?????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
?????????? http://www.springframework.org/schema/context?? http://www.springframework.org/schema/context/spring-context-2.5.xsd
?????????? http://www.springframework.org/schema/aop? http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
?????????? http://www.springframework.org/schema/tx?? http://www.springframework.org/schema/tx/spring-tx-2.5.xsd" >

</beans>

beans.xml模板文件也可以从Spring帮助文档(documentation)中获得。

第三步,在beans.xml中添加数据源、事务管理器等配置。内容如下:

??? <!-- 数据源配置 -->
??? <bean id="dataSource" class=?"org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
????<property name="driverClassName" value="org.gjt.mm.mysql.Driver"/>
????<property name="url"? value="jdbc:mysql://localhost:3306/itcast?userUnicode=true&amp;characterEncoding=UTF-8"/>
????<property name="username" value="root"/>
????<property name="password" value="admin"/>
????<property name="initialSize" value="1"/>
????<property name="maxActive" value="500"/>
????<property name="maxIdle" value="2"/>
????<property name="minIdle" value="1"/>
?? ?</bean>
???
???<!-- spring 的LocalSessionFactoryBean对sessionFactory进行了包装,从而对session进行管理-->
???????<bean id="sessionFactory" ref="dataSource"/>
????? <property name="mappingResources">
?????? <list>
?????????<value>com/lyk/bean/Person.hbm.xml</value>
?????? </list>
????? </property>
????? <property name="hibernateProperties">
??????? ?<value>
????????????? ?hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
????????????? ?hibernate.hbm2ddl.auto=update
???????????????hibernate.show_sql=false
????????????? ?hibernate.format_sql=false
????? ? </value>
???? </property>
??? </bean>
??? <!-- Spring提供的针对hibernate的事务管理器 -->
???<bean id="txManager" ref="sessionFactory"/>
???</bean>

??? <context:annotation-config />?? //Spring 为我们提供了一种方便的注册这些 BeanPostProcessor 的方式,详情参看Spring帮助文档

????? <!-- 采用注解方式声明事务,以后采用transaction就打开了事务管理器 -->
??????<tx:annotation-driven transaction-manager="txManager"/>

到这里,beans.xml文件基础部分已配置完毕,大家可以看到红色部分显示的是Hiberbate中定义的实体bean的映射文件,下面我们创建实体bean---com.lyk.bean.Person.

第四步,创建com.lyk.bean.Person。在src目录下创建com.lyk.bean包,在该包中创建Person类,如下:

package com.lyk.bean;

public class Person {
?private Integer id;
?private String name;
?public Person(){}
?public Person(String name){
??this.name = name;
?}
?public Integer getId() {
??return id;
?}
?public void setId(Integer id) {
??this.id = id;
?}
?public String getName() {
??return name;
?}
?public void setName(String name) {
??this.name = name;
?}

}

第五步,接下来定义Person类与MySQL数据库的映射文件。

文件名:Person.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
?"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
?"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping? ?package="com.lyk.bean">

?<class name="Person" table="PERSON">
??<id name="id" column="PERSON_ID">
???<generator column="PERSON_NAME" />??
?</class>
?</hibernate-mapping>

至此,我们已经配置好了beans.xml文件,准备好了实体bean--com.lyk.bean.Person及其数据库映射文件Person.hbm.xml。

热点排行