SSM框架实践

Pojo:

 Mapper:

 xml

service和implement类:

 

 

Controller:

@Controller
@RequestMapping("")
public class UsersController {
	@Autowired
	UsersService usersService;

	@RequestMapping("listUsers")
	public ModelAndView listUsers(Page page){
		ModelAndView mav = new ModelAndView();
		List<Users> cs= usersService.list(page);
		int total=usersService.total();
		page.caculateLast(total);
		mav.addObject("cs", cs);
		mav.setViewName("listUsers");
		return mav;
	}
	@RequestMapping("addUsers")
	public ModelAndView addUsers(Users users){
		usersService.add(users);
		ModelAndView mav = new ModelAndView("redirect:/listUsers");
	    return mav;
	}	
	@RequestMapping("deleteUsers")
	public ModelAndView deleteUsers(Users users){
		usersService.delete(users);
		ModelAndView mav = new ModelAndView("redirect:/listUsers");
		return mav;
	}	
	@RequestMapping("editUsers")
	public ModelAndView editUsers(Users users){
		Users c= usersService.get(users.getuId());
		ModelAndView mav = new ModelAndView("editUsers");
		mav.addObject("c", c);
		return mav;
	}	
	@RequestMapping("updateUsers")
	public ModelAndView updateUsers(Users users){
		usersService.update(users);
		ModelAndView mav = new ModelAndView("redirect:/listUsers");
		return mav;
	}	

 JSP:

 运行效果:

 

 

 

         疑问:ssm框架整合中为什么control要通过调用service类再进一步调用mapper类呢?为什么不是直接调用呢,这样有什么好处


  总结:

在SSM框架中,Controller调用Service类再进一步调用Mapper类的设计模式被称为“三层架构”或“MVC架构”。

这种设计模式的好处有以下几点:

1. 分离关注点:将Controller、Service和Mapper分离,每个层次都有自己的职责和关注点。Controller层主要负责接收请求和响应,Service层负责处理业务逻辑,Mapper层负责与数据库交互。这样,每个层次都可以专注于自己的任务,提高了代码的可读性和可维护性。

2. 降低耦合性:每个层次都是相对独立的,它们通过接口进行通信。这样,每个层次都可以独立开发和测试,降低了耦合性,提高了代码的可扩展性和可重用性。

3. 易于测试:每个层次都可以独立测试,这样可以更容易地发现和解决问题。

4. 提高安全性:通过将Mapper层隐藏在Service层后面,可以防止直接访问数据库,提高了系统的安全性。

因此,虽然直接调用Mapper类也是可以实现功能的,但是采用三层架构的方式可以提高代码的可读性、可维护性、可扩展性和安全性,是一种更优秀的设计模式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值