1、切换到MyEclipse Java Enterprise视图,在SSH工程上面右击,在弹出的菜单中选择MyEclipse - Add Hibernate Capabilities,添加Hibernate的支持在对话框中选择Spring configuration file,表示我们希望将Hibernate托管给Spring进行管理。这是将Hibernate与Spring进行整合的基础在出现的对话框中选择Existing Spring configuration file。因为我们已经添加了Spring的配置文件,所以这里选择的是已存在的配置文件。MyEclipse会自动找到存在的那个文件。然后
2、在SessionFactory ID中输入Hibernate的SessionFactory在Spring配置文件中的Bean ID的名字,这里我们输入sessionFactory即可在出现的对话框中的Bean Id里面输入数据源在Spring中的Bean ID的名字,这里我们输入dataSource。然后在DB Driver里面选择我们刚刚配置好的MySQL,MyEclipse会将其余的信息自动填写到表格里面在出现的对话框中取消Create SessionFactory class。至此我们已经完成了SSH的添加,但现在只是将所有需要的文件放到了一起,并没有完成所有的配置。现在我们要完成的是H
3、ibernate的反向工程。我们知道,Hibernate提供了ORM(Object Relation Mapping)机制,即将关系型数据库映射为面向对象的实现。现在要做的是将数据库的表格映射为对象,这里会有大量的配置文档,但MyEclipse可以很方便的完成这些工作。 首先切换到MyEclipse DataBase Explorer视图,在需要使用的数据表格上面点击右键,选择Hibernate Reverse Engineering.。这里我们使用刚刚建立的ssh数据库中的ssh表。在打开的对话框中修改Java src folder为我们建立的/SSH/src,这里需要选择到src文件夹,并
4、且需要填写Java package,这是MyEclipse生成的类所在的包,我们将其取名为obj。然后选择Java Data Object,建立POJO类。然后选择Java Data Access Object。其中,POJO类是数据库表格所对应的Java类,JDO类是MyEclipse自动生成的对数据库的一些操作。这里会封装一些常用的操作,简化我们的编写。填写完成后点击Next此时SSH项目的目录结构如下所示。其中的User.Java是MyEclipse生成的POJO类,是使用面向对象的Java语言对数据库表格进行的抽象,User.hbm.xml是将数据库表格中的字段和POJO类的属性进行映
5、射的定义,UserDAO.java封装了一些MyEclipse自动生成的对数据库的操作。新建一个接口类IUserDAOpackage org.wuliu.ssh.dao;import java.util.List;import org.wuliu.ssh.obj.User;public interface IUserDAO public User findById(Integer id); public List findByName(Object name); public void save(User user); 添加commonpool1.4包添加service包和impl包,调正文件
6、结构,新建IUserService.java和UserService.javapackage org.wuliu.ssh.service;public interface IUserService public User getUserById(Integer id); public User getUserByName(String name); public void addUser(User user);package org.wuliu.ssh.service.impl;import org.wuliu.ssh.dao.IUserDAO;import org.wuliu.ssh.ser
7、vice.IUserService;public class UserService implements IUserService private IUserDAO userDAO; public User getUserById(Integer id) return userDAO.findById(id); public User getUserByName(String name) List list = userDAO.findByName(name); if(list.size() = 0) return null; else return (User)list.get(0); p
8、ublic void addUser(User user) userDAO.save(user); public IUserDAO getUserDAO() return userDAO; public void setUserDAO(IUserDAO userDAO) this.userDAO = userDAO; 添加Form, Action and JSP 在弹出的对话框中添加User case,然后点击Add生成Properties代码。这会由MyEclipse自动生成相应的Form代码。输入完成后选择JSP选项卡,选上Create JSP form,修改路径这个BaseAction类
9、继承自ActionSupport类,后者是Spring中对应着Struts的Action的类。ActionSupport类中提供了访问WebApplicationContext的简便方法,而后者是在web程序中获取Spring托管的类的上下文。以后我们编写的Struts中的Action继承自这个BaseAction,就可以利用getBean在我们的Action中获取Spring托管的类。package org.wuliu.ssh.struts.action;import org.springframework.web.context.WebApplicationContext;import o
10、rg.springframework.web.context.support.WebApplicationContextUtils;import org.springframework.web.struts.ActionSupport;public class BaseAction extends ActionSupport protected Object getBean(String id) WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.servlet.getServ
11、letContext(); return ctx.getBean(id);为了让Web容器能够初始化Spring,我们需要修改web.xml文件,增加以下内容 contextConfigLocationparam-value/WEB-INF/applicationContext.xml servletservlet-nameSpringContextServletservlet-class org.springframework.web.context.ContextLoaderServlet load-on-startup1/servlet修改LoginAction.java/* * Gen
12、erated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import
13、 org.apache.struts.action.ActionMapping;import org.wuliu.ssh.struts.form.LoginForm;/* * MyEclipse Struts * Creation date: 06-25-2008 * * XDoclet definition: * struts.action path=/login name=loginForm input=/login.jsp scope=request validate=truepublic class LoginAction extends BaseAction /* * Generat
14、ed Methods */ /* * Method execute * param mapping * param form * param request * param response * return ActionForward public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) LoginForm loginForm = (LoginForm) form; String name =
15、 loginForm.getUsername(); String password = loginForm.getPassword(); String purview = loginForm.getPurview(); ActionForward forward = mapping.getInputForward(); IUserService service = (IUserService) getBean(UserService); User userFromDB = service.getUserByName(name); if(userFromDB.getPassword().equa
16、ls(password) & userFromDB.getPurview().equals(purview) forward = mapping.findForward(success elsefail return forward; 添加一个welcome.jsp页面% taglib uri=http:/struts.apache.org/tags-html prefix=html%!DOCTYPE html PUBLIC -/W3C/DTD XHTML 1.0 Transitional/EN /www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
17、html xmlns=/www.w3.org/1999/xhtmlheadtitleSeccess/headbody welcome!/body/html在弹出的对话框中,选择Local Action Forward,通过Browser填写Action Path,然后填写Name和Path,完成后点击Finish即可在spring 的配置文件applicationContext.xml文件中添加bean id= class=org.wuliu.ssh.service.impl.UserServiceproperty name=userDAO /property/bean附上文件结构图:附上SSH层次调用说明图s
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1