总结后台商品业务逻辑编写方法

我们来总结一下关于怎么样去编写后台业务逻辑的方法,首先我们要编写后台业务逻辑,必须要先知道前端是哪部分,需要我们编写后台业务逻辑,找到对应的前端组件,当然是在网页上找到的,点击这个前端组件(比如说,一个功能按钮像用户管理)然后我们可以看控制台信息,控制台信息会出现红色的信息,这代表着这部分的业务逻辑没有去编写,因此我们要看看是哪些参数没有得到响应,并且等一下编写业务逻辑的时候会用到这些参数。

然后我们需要看看前端页面有没有显示属性名,什么叫属性名呢?也就是像名字,商品的价格,商品图片,这些就是商品的属性,如果前端页面已经写好了商品的属性,我们就要去封装他,具体这个封装好的方法放在哪一个模块里面?他是肯定要放在pojo类里面,但是需要放在哪个模块里面呢?如果我们有建立一个商品信息模块,而且这个模块会被其他微服务调用,那么我们封装好之后就可以写在这个模块里面。

然后这个商品模块里面不止有pojo方法,而且还要有service方法,Mapper方法,其中mapper方法是用来操作数据库的。而service方法就是调用mapper方法的。

以上只是说到商品的pojo方法,service方法,mapper的编写,还没有说到商品的结果集方法,商品的结果集是什么呢?其实我们前端页面做一个商品列表有两种情况,一种是返回商品的list列表,这种情况是针对商品没有分页的情况。另一种情况是返回商品的结果集,这种情况针对商品有分页的情况,因为返回商品的结果集可以用来实现PageInfo方法,也就是交给PageInfo去包装结果集,把包装结果传入到泛型里面,并且传入到ResponseEntity里面,并且传入到OK方法里,然后进行返回到前端显示。

这里需要说明一下,如果前端页面没有给你显示各种属性名,你只能去前端的程序里面去找,根据路由信息找到商品的前端页面,然后在前端页面里面找各个属性的方法,看看他们都赋值了给什么样的值。然后拿到这些值回去后端页面进行封装。

.在结果集里面,我们只需要封装三个方法,一个是页数,一个是总页数,最后一个是商品信息,而且这个商品信息你需要作为一个泛型,并且把刚刚从前端获取的属性名的封装方法,也就是那个pojo类,传进去这个泛型里面,当然如果你的方法里面有一个泛型,你的最外层方法也是需要一个泛型,所以你只需要写泛型T就好了。

接下来我们要写商品属性名的pojo方法,写完之后我们去写mapper方法,没跑方法很简单,你什么都不需要写,只需要把这个方法去继承mapper方法就可以了,并且传入一个泛型就是pojo实体类,然后我们再去编写service逻辑,这个service你需要把mapper方法拿过来。这里做一个小提示就是mapper方法,你需要去声明他,你可以不用在当前类上面声明,但是你需要去引导类上面声明,而且service方法的话你需要在当前类上面声明。

Service里面需要编写的是什么呢?首先你要把mapper拿过来进行封装,封装好后,你要知道service的目的就是给前端的属性名赋值,而且赋值完后,我们是不是需要把这些信息以商品数据的形式传回到前端?最能做到这一点的方法只有ResponseEntity,而且它是带有泛型的,这个时候我们应该传入怎样的泛型呢?如果我们传入商品属性名的泛型的话,那么最终我们返回的结果只有商品的列表,并没有分页的效果,这就导致了网页怎么也拉不完,所以我们要返回的是一个商品结果集,因为这个有分页,也有商品信息,然后我们需要用RequestParam来获取参数,具体这个参数怎么获取,你要去前端控制台那里去查看,问号后面的都是参数,你需要用这个方法去截取这些参数并且赋值,赋值有两种方法,一个是关闭请求赋值,另一种是给予默认值,这个默认值可以为1,也可以为任意值,比如说id,这个默认是可以为1,你要看清楚你写的参数方法是对应什么功能,如果不知道对应什么功能的话,就要去前端找到这个参数,并且查看他的方法,或者去查看他的注释,如果是搜索关键词的方法,你就不需要去配置默认值,因为搜索关键词都还没有搜索,肯定显示不出来东西。但是有些时候需要默认值的话,比如说什么都不做,需要显示商品的首页的话,这就需要分页参数配置为1,让他去显示第一页的内容。

在我们赋值完这些参数之后,我们需要做的就是去返回它,但是我们需要做出判断,如果商品信息为空,那就需要执行什么样的反应,一般都是返回ResponseEntity里面的404错误,如果没有错误的话,我们需要执行service里面的封装结果集方法,然后我们就要到Service去实现这个方法,具体到了service怎么去实现这个方法呢?我们需要用到的就是mapper方法,还有一个example方法,先去new这个example,为什么我们需要example呢?因为我们涉及到搜索关键词方法,而关键词方法需要你去编写一个方法,就是需要根据名字的中间关键词或者首字母关键词。来对应找到商品因此你就是需要example方法去帮你实现这个功能。

这里有个细节要注意,就是你new完这个example方法之后,然后你需要把商品pojo类传进去,因为你这个example是搜索关键词方法,如果你不把商品的属性名传进去,比如id,名字,商品类别等等传进去,你就没有办法通过关键词去查找对应的商品。

你还需要一个pagehelper,来把你的商品页数,还有总页数传进去,还有最后几个参数就是判断是升序还是降序,我们可以调用example里面的方法,首先用if条件判断它是不是为空,在不为空的情况下,我们就可以调用example方法,采用三元表达式,去判断结果,如果为真就生需,如果为错,就降序。

最终我们再把example传入到mapper里面,然后返回值为商品列表,并且把这个商品列表传入到培训info里面,最终传入到商品结果集的一个只有两个参数的方法里面,然后再在controller将这个方法进行返回

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值