整合s2sh

发表时间:2017-12-15 14:43:18 浏览量( 55 ) 留言数( 0 )

学习目标:

1、了解Java的历史

2、为什么要学习Java语言

3、端正学习态度


学习过程:


自搭建s2sh框架

既然已经使用spring整合了hibernate了,那么我们还是把目前最流行的ssh框架都整合起来,以前ssh分别指的是spring,struts和hibernate,现在struts1已经不常使用了,取而代之的是struts2,所有现在有些人也使用s2sh。其实spring整合struts2我们之前已经讲过了,这里只是把原来的jdbc换成hibernate而已,没有什么特别的地方,但是这里我们想新建一个项目手动的搭建s2sh环境。

一、新建项目,并导包。

要搭建S2SH框架需要用到的包比较多,你可以通过上面两节课的学习自己把相关的包都复制到一个目录中,然后全部导入到这个新建的项目中就可以了。

二、完成spring对hibernate的支持

这一步你可以复制上一节课通过hibernate生成的pojo,映射文件和spring的配置文件,不过这里我修改了一下,不使用自动生成的Dao类了。Dao层的代码还是我们自己实现,这里我们把hibernateTemplate也交给spring容器管理,然后在在Dao层中直接使用这个hibernateTemplate组件。修改后的spring配置文件如下:

<?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-3.0.xsd  
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd  
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">



	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver">
		</property>
		<property name="url" value="jdbc:mysql://localhost:3306/hbm_db">
		</property>
		<property name="username" value="root"></property>
		<property name="password" value="123456"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="mappingResources">

			<list>
				<value>com/pojo/Employee.hbm.xml</value>
				<value>com/pojo/Login.hbm.xml</value>
				<value>com/pojo/LoginRole.hbm.xml</value>
				<value>com/pojo/Post.hbm.xml</value>
				<value>com/pojo/Role.hbm.xml</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>

	<!-- hibernateTemplate -->
	<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
		<property name="sessionFactory">
			<ref bean="sessionFactory"></ref>
		</property>
	</bean>

</beans>

三、Dao层代码的实现

这个代码比较简单,只是直接调用hibernateTemplate模板类就可以了,我们并不需要直接使用session了。你可以自己写一个测试类,测试是否正常。完成代码如下:

public class PostDaoImpl implements PostDao{
	
	private HibernateTemplate hibernateTemplate;
	
	public void addPost(Post post){
		hibernateTemplate.save(post);
	}
	
	public void delPost(Post post){
		hibernateTemplate.delete(post);
	}
	
	public void updatePost(Post post){
		hibernateTemplate.update(post);
	}
	
	public Post getPostByid(int pid){
		return (Post) hibernateTemplate.get(Post.class, pid);
	}
	
	public List<Post> getAllPost(int pid){
		return (List<Post>)hibernateTemplate.find("from Post");
	}
	

	public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
		this.hibernateTemplate = hibernateTemplate;
	}

}

四、整合struts2框架。

这个步骤大家可以参考我们之前学习的spring整合struts2的那一节:http://www.javaand.com/html/spring/271.html