首先用自动生成的那个页面,index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <body> <h2>Hello World!</h2> <a href="save.m">保存</a> <a href="update.m">更新</a> <a href="delete.m">删除</a> <a href="get.m">查询</a> <h1>操作结果:</h1> <h2>${result}</h2> </body> </html>
编写一个简单的实体类,
SimpleBean:
package simples.bean; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class SimpleBean { @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column private Long id; @Column private String name; @Column private String remark; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } @Override public String toString() { return "SimpleBean [id=" + id + ", name=" + name + ", remark=" + remark + "]"; } }
再编写一个Controller,
SimpleController:
package simples.web; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import simples.bean.SimpleBean; import simples.service.SimpleService; @Controller public class SimpleController { @Autowired private SimpleService simpleService; @RequestMapping("/save") public String save(ModelMap modelMap){ System.out.println("SimpleController.save()"); SimpleBean bean = new SimpleBean(); bean.setName("bean111"); bean.setRemark("bean1"); simpleService.save(bean); modelMap.addAttribute("result", "保存成功"); return "index"; } @RequestMapping("/update") public String update(ModelMap modelMap){ System.out.println("SimpleController.update()"); SimpleBean bean = simpleService.get(1L); bean.setName("simple1"); bean.setRemark("simple2"); simpleService.update(bean); modelMap.addAttribute("result", "更新成功"); return "index"; } @RequestMapping("/delete") public String delete(ModelMap modelMap){ System.out.println("SimpleController.delete()"); simpleService.delete(1L); modelMap.addAttribute("result", "删除成功"); return "index"; } @RequestMapping("/get") public String get(ModelMap modelMap){ System.out.println("SimpleController.get()"); SimpleBean bean = simpleService.get(1L); modelMap.addAttribute("result", bean); return "index"; } }
service的接口,
SimpleService:
package simples.service; import simples.bean.SimpleBean; public interface SimpleService { void save(SimpleBean bean); void update(SimpleBean bean); void delete(Long id); SimpleBean get(Long id); }
service的实现类,
SimpleServiceImpl:
package simples.service.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import simples.bean.SimpleBean; import simples.dao.SimpleDao; import simples.service.SimpleService; @Service public class SimpleServiceImpl implements SimpleService { @Autowired private SimpleDao simpleDao; public void save(SimpleBean bean) { simpleDao.save(bean); } public void update(SimpleBean bean) { simpleDao.update(bean); } public void delete(Long id) { simpleDao.delete(id); } public SimpleBean get(Long id) { return simpleDao.get(id); } }
Dao的接口,
SimpleDao:
package simples.dao; import simples.bean.SimpleBean; public interface SimpleDao { void save(SimpleBean bean); void update(SimpleBean bean); void delete(Long id); SimpleBean get(Long id); }
Dao的实现类,
SimpleDaoImpl:
package simples.dao.impl; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import simples.bean.SimpleBean; import simples.dao.SimpleDao; @Repository public class SimpleDaoImpl implements SimpleDao { @Autowired private SessionFactory sessionFactory; private Session getSession() { return sessionFactory.getCurrentSession(); } public void save(SimpleBean bean) { getSession().save(bean); } public void update(SimpleBean bean) { getSession().update(bean); } public void delete(Long id) { Session session = getSession(); Object bean = session.get(SimpleBean.class, id); session.delete(bean); } public SimpleBean get(Long id) { return (SimpleBean) getSession().get(SimpleBean.class, id); } }
下面演示最基本的功能,打开index.jsp页面后应该是这个页面:
点击保存后:
再点击查询:
到这里,SpringMVC+Spring3+Hibernate4框架的搭建就完成了,剩下2个功能可以自己测试。
最后附上项目地址:
https://github.com/ivyboy/ssh