博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2+hibernate3.2+spring2.0整合篇(二)
阅读量:3978 次
发布时间:2019-05-24

本文共 5877 字,大约阅读时间需要 19 分钟。

        在上篇文章中,我们已经把struts2+hibernate3.2+spring2.0的开发环境搭建成功,这篇我们接着上篇,继续讲解struts2+hibernate3.2+spring2.0的整合过程。

  步骤二:在MySQL数据库中创建数据库、数据表,建表语句:

create database mytest;use mytest;CREATE TABLE users (  id int(11) NOT NULL,  firstname varchar(50) NOT NULL,  lastname varchar(50) NOT NULL,  age int(11) NOT NULL,  PRIMARY KEY  (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
         
在此我们需要说明各层之间的调用关系,action层-->service层-->dao层,调用关系我们在spring中配置。

  步骤三:创建hibernate对数据表的持久层访问。

  在com.tgb.bean包中创建User.java和User.hbm.xml文件,建立User对象和数据表users的映射。

  User.java

package com.tgb.bean;public class User {	private Integer id;	private String firstname;	private String lastname;	private int age;	public Integer getId() {		return id;	}	public void setId(Integer id) {		this.id = id;	}	public String getFirstname() {		return firstname;	}	public void setFirstname(String firstname) {		this.firstname = firstname;	}	public String getLastname() {		return lastname;	}	public void setLastname(String lastname) {		this.lastname = lastname;	}	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}}
 
 User.hbm.xml
        
步骤四:创建操作User对象的接口和实现类。

  在com.tgb.dao中创建操作User对象的接口

  UserDAO.java

package com.tgb.dao;import java.util.List;import com.tgb.bean.User;public interface UserDAO {	public void saveUser(User user);	public void removeUser(User user);	public User findUserById(Integer id);	public List
findAllUsers(); public void updateUser(User user);}
          
在com.tgb.dao.impl中创建操作User对象的接口实现类

  UserDAOImpl.java

package com.tgb.dao.impl;import java.util.List;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.tgb.bean.User;import com.tgb.dao.UserDAO;public class UserDAOImpl extends HibernateDaoSupport implements UserDAO {	@SuppressWarnings("unchecked")	public List
findAllUsers() { String hql = "from User user order by user.id desc"; return (List
) this.getHibernateTemplate().find(hql); } public User findUserById(Integer id) { User user = (User) this.getHibernateTemplate().get(User.class, id); return user; } public void removeUser(User user) { this.getHibernateTemplate().delete(user); } public void saveUser(User user) { this.getHibernateTemplate().save(user); } public void updateUser(User user) { this.getHibernateTemplate().update(user); }}
 
 步骤五:创建service层的接口和实现类

  在com.tgb.service中创建调用UserDAO的接口

  UserService.java

package com.tgb.service;import java.util.List;import com.tgb.bean.User;public interface UserService {		public List
findAll(); public void save(User user); public void delete(User user); public User findUserById(Integer id); public void update(User user);}
  在com.tgb.service.impl中创建调用UserDAO的接口实现类   

  UserServiceImpl.java

package com.tgb.service.impl;import java.util.List;import com.tgb.bean.User;import com.tgb.dao.UserDAO;import com.tgb.service.UserService;public class UserServiceImpl implements UserService {	private UserDAO userDao;	public UserDAO getUserDao() {		return userDao;	}	public void setUserDao(UserDAO userDao) {		this.userDao = userDao;	}	public void delete(User user) {		this.userDao.removeUser(user);	}	public List
findAll() { return this.userDao.findAllUsers(); } public User findUserById(Integer id) { return this.findUserById(id); } public void save(User user) { this.userDao.saveUser(user); } public void update(User user) { this.userDao.updateUser(user); }}
         
步骤六:创建action层的对于SavaUser和ListUser的处理类。

  SaveUserAction.java

package com.tgb.action.user;import com.opensymphony.xwork2.ActionSupport;import com.tgb.bean.User;import com.tgb.service.UserService;public class SaveUserAction extends ActionSupport {	private User user;	private UserService userService;	public UserService getUserService() {		return userService;	}	public void setUserService(UserService userService) {		this.userService = userService;	}	public User getUser() {		return user;	}	public void setUser(User user) {		this.user = user;	}	@Override	public String execute() throws Exception {		this.userService.save(this.user);		return SUCCESS;	}}
   
 ListUserAction.java
package com.tgb.action.user;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.tgb.service.UserService;public class ListUserAction extends ActionSupport {	private UserService userService;	public UserService getUserService() {		return userService;	}	public void setUserService(UserService userService) {		this.userService = userService;	}	@Override	public String execute() throws Exception {		Map request = (Map) ActionContext.getContext().get("request");		request.put("list", userService.findAll());		return SUCCESS;	}}
         
步骤七:创建用于保存用户的save.jsp页面和显示用户的list.jsp页面。

  save.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@ taglib prefix="s" uri="/struts-tags"%><%	String path = request.getContextPath();	String basePath = request.getScheme() + "://"			+ request.getServerName() + ":" + request.getServerPort()			+ path + "/";%>					Save User				

Operation List

         
list.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%	String path = request.getContextPath();	String basePath = request.getScheme() + "://"			+ request.getServerName() + ":" + request.getServerPort()			+ path + "/";%>					List User				

Users List

序号 年龄 删除 更新
delete
update
   
  到此,各层之间的接口和实现类已经创建完毕,下篇我们将讲解如何通过spring管理类之间的依赖关系。

转载地址:http://axkui.baihongyu.com/

你可能感兴趣的文章
dpdk环境搭建之使能额外功能
查看>>
vpp命令总结
查看>>
pktgen+dpdk使用总结
查看>>
numa总结
查看>>
vpp feature node使用分析总结(snat)
查看>>
ovs+dpdk bond功能总结
查看>>
成都商业贷款买新房,取公积金流程
查看>>
qemu+ovs vhost连接,热升级和故障恢复
查看>>
hugepage设置相关总结
查看>>
vpp 类veth接口实现(连接多vrouter,多vbridge)
查看>>
魔方公式总结
查看>>
vpp honeycomb 总结
查看>>
vpp代码dpdk-input node后加feature node 不能trace原因
查看>>
pktgen使用总结
查看>>
libvirt XML文件启动qemu 使用hugepages vhost总结
查看>>
ovs原生和ovs+dpdk iperf3测试结果对比
查看>>
网络收包LRO GRO测试总结
查看>>
ovs原生与+dpdk性能测试对比总结
查看>>
dpdk LRO功能总结
查看>>
使用Intel® 82599 VF 功能,在虚拟机里运行 (f-stack)nginx 代理功能多进程总结
查看>>