service层判断返回值是否为空,空的话返回一个=null的model,不为空的话 给刚才的model new一下,然后把查出来的东西 ito循环遍历 赋值给model,这样做不对,我想知道为什么?
这样做的话,从代码层面来说是可行的,只是不好
因为在service层对model操作,不规范,而且,如果返回值为null就返回null的model,那model之前属性的值,都没有了,这样显然欠妥
把报的错截图贴上来看看,问题表述不够清楚
这只能说不好吧? 楼主说不对。。。是楼主遇到了什么具体错误吗? 不然楼主应该不会直接说不对吧?
楼主表述略显不清晰,报出什么具体的错误了?
1.这样的话,你在controller层就要对service的返回进行非空判断,才能写返回值,如果你不判断,人家前端拿你数据也不判断就会空指针异常;
2.controller层尽量要简单,不要写多余的判断,所以你service层轻易不要返回null;空的话 你new一个model,不空你直接返回结果集;
3.至于您说的不空的话 new个对象循环set也欠妥,如果用的mybatis,你完全可以DAO层返回值就是那个model,没必要循环set了,然后判断model如果为空;就new一个新的对象返回;这样人家别人拿你数据起码key值都存在;
4.当然最好mybaits的model和controller的model不要是一个;最好不要一个底层model 直接返回前端
以上 个人拙建,仅供参考;
不管查询结果是否为空都返回一个新的List集合,controller层调用得到并给viewModel的是一个list集合,jsp页面得到集合判断是否为空再进行迭代