1. 安装MyEclipse,安装JDK,安装Tomcat;
2. 新建web项目,选择JDK,选择Tomcat,填写项目名;
3. 点击Window,选择
Open Perspective
,点击My
Eclipse Database Explorer
;
4. 右击
DB Browser
空白处,选择
new...
,打开
New Datebase Connection Drive
填写数据据连接信息;
5. 点击
Add JARs
添加数据库连接jar包,勾选
Save password
,点击
Test Driver
,提示success,连接成功;
6. 点击
Next
,勾选
Display the selected schemas
,点击
Add
,勾选所用的数据库,点击
Finish
;
7. 切换到
MyEclipse Java Enterprise
界面,右击项目,点击
MyEclipse
,选择
Project Facets[Capabilities]
,点击
Install Hibernate Facets
;
8. 选择Hibernate版本为
3.2
,选择Tomcat,点击
Next
,Java package选择
New...
,Name填写
util
,取消勾选
Create SessionFactory class?
,点击
Next
;
9.
DB Driver
选择数据库的连接名,点击
Next
,点击
Finish
,弹出框选择
No
;
10. 打开src目录下新生成的
hibernate.cfg.xml
文件,查看数据库连接信息;
11. 导入工具类
SessionFactoryUtils.java
,右击,
Run As
,
Java Application
,控制台输出“
会话工厂创建成功,会话已打开
”,则成功导入hibernate;
12. 右击项目,选择MyEclipse,选择
Project Facets[Capabilities]
,点击
Install Spring Facets;
13. Spring version选择
3.1
,选择
Tomcat
,点击
Next...
,默认不修改,点击
Next...
;
14. 不改参数,点击
Next...
,将参数
全部勾选
,点击
Finish
,完成Spring的导入,(spring和hibernate集成时已自动完成配置SessionFactory);
15. 右击项目,选择MyEclipse,选择
Project Facets[Capabilities]
,点击
Install Apache Struts(2.x) Facets;
16. 使用默认参数,点击
Next...
,默认
*.action
,点击
Next...
,使用
默认勾选项
,点击
Finish
,完成Struts2的导入;
17. 将
log4j.properties
文件放置在src目录下,打开applicationContext.xml文件,修改spring配置文件DTD声明(将《spring3.1 dtd常用声明.txt》中的内容替换applicationContext.xml的<beans>);
18. 打开applicationContext.xml文件,配置事务管理器HibernateTransactionManager(begin/commit/rollback);
<!-- hibernate事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
19. 配置事务的传播特性,规定开启事务的方法与类;
<!-- 配置事务的传播特性 -->
<!-- 环绕通知 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="edit*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="load*" propagation="REQUIRED" read-only="true" />
<tx:method name="list*" propagation="REQUIRED" read-only="true" />
<tx:method name="do*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<!-- 定义在哪些类的哪些方法开启事务 -->
<aop:config>
<!-- 分四部分理解 A B C D [*] [*..*Service.][*][(..)] A:返回类型不限 B:任意包下的以Service结尾的类或接口 C:方法名不限 D:方法的参数类型及个数不限 -->
<aop:advisor advice-ref="txAdvice" pointcut="execution(* *..*Service.*(..))" />
</aop:config>
20. Dao层、Service层的开发及配置需要修改DAO类继承HibernateDaoSupport类,注入sessionFactory ;
<bean id="baseDao" class="base.BaseDao">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
21. 在src目录下新建一个test包,在此包中新建action,dao,service,entity包,在MyEclipse中切换至
MyEclipse DataBase Explorer
界面,打开在此界面的数据库连接,找到其中的数据库表,
右键其中一张表,选择
Hibernate Reverse Engineering...
,勾选
Create POJO<>DB Table mapping information
和
Java Data Object(POJO <> DB Table)
其中Java src folder选项选择
Browse...
,拉开弹出框中的项目,点击
src
,点击
OK
,点击
Next...
,再点击
Next...
;
22. 取消勾选
Generate support for ListedTable(fk)->UnlistedTable
和
Generate support for UnlistedTable(fk)->ListedTable
,点击此界面中的表,Class name填写
test.entity.表名
,
Id Generator选择
assigned
,(具体参数的意义请百度),点击
Finish
,第一个弹出框点击
OK
,第二个勾选
Remember my decision
,点击
No
;
23. 打开
hibernate.cfg.xml
,在Properties中点击
Add...
,Property选择show_sql,Value填写
true
,点击
Add...
,Property选择
format_sql,Value选择
true
,新建
Dao
文件和
Service
文件,新建相关方法;
24. 在Dao包下新建impl包,新建相关impl文件,实现Dao文件,继承BaseDao接口;
25. 在service包下新建impl包,新建相关impl文件,实现service文件,注入相关dao文件;
26. 打开applicationContext.xml文件,注入dao,service等bean,在test包下新建junit包,新建Test类单个测试dao方法;
<bean id="userDao" class="test.dao.impl.UserDaoImpl" parent="baseDao">
</bean>
<bean id="userService" class="test.service.impl.UserServiceImpl">
<property name="userDao">
<ref local="userDao" />
</property>
</bean>
27. 在action包下新建action文件,并在applicationContext.xml文件中添加bean,修改struts.xml文件,修改web.xml,完成struts2和spring的集成;
applicationContext.xml:
<bean id="userAction" name="userAction" class="test.action.UserAction">
<property name="userService">
<ref local="userService" />
</property>
</bean>
struts.xml:
<struts>
<package name="p1" namespace="/test" extends="struts-default">
<action name="userAction" class="userAction">
<result name="msg">/msg.jsp</result>
</action>
</package>
</struts>
28. 编写Jsp界面