ssm业务层与扩展类对象的配合使用

业务层的作用
业务层不只是单纯的调用持久层,不能只是要什么数据就从数据库取,取出来就返回给表现层去展示。如果总这样的话,数据库中表描述的字段不够,表现层要展示的内容多余数据库表的内容,就会很苦恼,想着去修改数据库表。
例如,取出来一个食物,里面有保质期,如果表现层要展示这个食物有没有过期,那数据库表就要有这个有没有过期的标签,没有的话就无法展示。
其实,数据库表不用增加这个字段,这时候,需要一个食品类的扩展类,这个扩展类继承于食品类,食品类的属性严格与数据库表中字段对应。但是扩展类就可以去定义这个是否过期的属性,达到扩展的目的。然后在业务层实现类中,取到了食品类对象,通过判断有无过期,再将有无过期的标签和取出的食品类本身都封装到食品类扩展类中去,再给表现层返回这个扩展类对象。
这样一来,即不用增加数据库字段,又能充分利用扩展类和业务层。
即业务层方法返回扩展类,持久层方法返回本身类。业务层接口和持久层接口的同一个方法的参数是不一样的。

Service:
public FoodCustom getFood(int id) ;

ServiceImpl:
public FoodCustom getFood(int id){
	Food food = foodMapper.selectByPrimaryKey(id) ;//调用mapper代理对象,根据id取出food表中记录
	String flag ;//是否过期的标识
	//判断食物有无过期的代码….
	FoodCustom foodCustom = new FoodCustom() ;
	//拷贝原本的food类对象的属性值到扩展类foodCustom
	BeanUtils.copyProperties(foodCustom,food) ;
	foodCustom.setFlag(flag) ;//扩展类存入foodCustom扩展类对象
	return foodCustom ;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值