主要功能:将输入的数据存入数据库中,并把数据库中的所有数据显示出来
源码地址: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>