使用Myeclipse搭建的第一个SSH例子

主要功能:将输入的数据存入数据库中,并把数据库中的所有数据显示出来

源码地址:http://pan.baidu.com/s/1bpzXGTp

①利用Myeclipse加载struts2的jar包

②利用Myeclipse加载spring的jar包

③利用Myeclipse加载hibernate的jar包,并且共用spring的配置文件作为自身配置文件

④写java类,主要包有:

1)com.bean

写bean的时候同时创建对应的hibernate映射文件,所以字段都要一一对应。。。。我后来注入sessionFactory失败找了好久才发现是映射文件里有id,bean里忘了写id字段

2)com.dao

BaseDao接口:基本的增删改查方法

PersonDao接口:增加person和查找所有person的方法

3)com.dao.impl

BaseDaoImpl继承HibernateDaoSupport并且实现BaseDao

PersonDao继承HibernateDaoSupport并且实现PersonDao

继承了HibernateDaoSupport类就有了setSessionFactory方法,spring容器才能对他们注入sessionFactory

4)com.action

name,age字段通过表单输入赋值

PersonDaoImpl pdao字段通过spring注入

List<Person> persons通过pdao的方法获得


 ⑤JSP页面

  <body>
    <s:form	action="Myactionsave" method="post">
    	<s:textfield name="name" label="姓名"></s:textfield>
    	<s:textfield name="age" label="年龄"></s:textfield>
    	<s:submit value="提交"></s:submit>
    </s:form>
    <hr>
    <s:iterator value="#request.persons">
    	<s:property value="id"/>
    	<s:property value="name"/>
    	<s:property value="age"/>
    	<br>
    </s:iterator>
  </body>
⑥配置action

	<package name="default" namespace="/" extends="struts-default">
		<action name="Myaction*" class="Myaction" method="{1}">
			<result>/pages/MyJsp.jsp</result>
		</action>
	</package>
注意!上面的class值并不是com.action.Myaction,这里的值对应着spring实例化的bean,所以紧接着来注入action

这里最开始也除了BUG找了半天,就是因为没有与spring里的action对应起来
⑦在spring配置文件中注入action

<bean id="Myaction" class="com.action.Myaction" ></bean>
⑧注入sessionFactory,BaseDaoImpl,PersonDaoImpl

⑦⑧完成后spring配置文件内容如下:

	<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/spring_db"></property>
		<property name="username" value="root"></property>
		<property name="password" value=""></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource">
			<ref bean="dataSource" />
		</property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/bean/Person.hbm.xml</value>
			</list>
		</property>
	</bean>
	
	<bean id="BaseDao" class="com.dao.impl.BaseDaoImpl" p:sessionFactory-ref="sessionFactory"></bean>
	<bean id="PersonDao" class="com.dao.impl.PersonDaoImpl" p:sessionFactory-ref="sessionFactory"></bean>
	
	<bean id="Myaction" class="com.action.Myaction" p:pdao-ref="PersonDao"></bean>



写bean的时候同时创建对应的hibernate映射文件,所以字段都要一一对应。。。。我后来注入sessionFactory失败找了好久才发现是映射文件里有id,bean里忘了写id字段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值