032医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------Service层和Action层和调试
2016-12-03 23:14
651 查看
我们上一篇文章讲了Dao层代码:
这一篇我们讲解Service层和Action层;
Service层:
分为接口和实现类,我们主要看实现类:GysemplServiceImpl
再看Action层:
最后调试:
调试的时候我遇到两个问题:
主要归结于两点:
1:GysypmlMapperCustom.xml所在的包路径和名字要与Mapper接口的下的名字一样:
Mapper接口:
要一模一样。不然直接报错:
调试结果:
调试ok。
这一篇我们讲解Service层和Action层;
Service层:
分为接口和实现类,我们主要看实现类:GysemplServiceImpl
package yycg.business.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import yycg.business.dao.mapper.GysypmlMapperCustom; import yycg.business.pojo.vo.GysypmlCustom; import yycg.business.pojo.vo.GysypmlQueryVo; import yycg.business.service.GysymplService; public class GysemplServiceImpl implements GysymplService{ @Autowired GysypmlMapperCustom gysymplMapperCustom; @Override public List<GysypmlCustom> findGysymplList(String usergysId,GysypmlQueryVo gysymplQueryVo) throws Exception { //为了防止bug.这里做一个非空校验,如果传进来不是空,那么就直接把传进来那个赋值给他,如果传进来就是空的 //那么就新建一个 gysymplQueryVo=gysymplQueryVo!=null?gysymplQueryVo:new GysypmlQueryVo(); /** * 为什么这里要再得到一个?因为可能在页面上已经传进来一个gysymplCustom. * 所以要判断传进来那个是不是空的。 * * */ GysypmlCustom gysymplCustom=gysymplQueryVo.getGysymplCustom(); if(gysymplCustom==null)//如果是空的,那就new一个。反正我们的目的就是把usergysId的值设置进去。 { gysymplCustom=new GysypmlCustom(); } //设置数据范围权限 gysymplCustom.setId(usergysId); List<GysypmlCustom> listgyGysymplCustoms=gysymplMapperCustom.findGysymplList(gysymplQueryVo); return listgyGysymplCustoms; } @Override public int findGysypmlCount(String usergysId,GysypmlQueryVo gysymplQueryVo) throws Exception { //为了防止bug.这里做一个非空校验,如果传进来不是空,那么就直接把传进来那个赋值给他,如果传进来就是空的 //那么就新建一个 gysymplQueryVo=gysymplQueryVo!=null?gysymplQueryVo:new GysypmlQueryVo(); /** * 为什么这里要再得到一个?因为可能在页面上已经传进来一个gysymplCustom. * 所以要判断传进来那个是不是空的。 * * */ GysypmlCustom gysymplCustom=gysymplQueryVo.getGysymplCustom(); if(gysymplCustom==null)//如果是空的,那就new一个。反正我们的目的就是把usergysId的值设置进去。 { gysymplCustom=new GysypmlCustom(); } //设置数据范围权限 gysymplCustom.setId(usergysId); int count=gysymplMapperCustom.findGysypmlCount(gysymplQueryVo); return count; } }
再看Action层:
package yycg.business.action; import java.util.List; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import yycg.base.pojo.vo.ActiveUser; import yycg.base.pojo.vo.PageQuery; import yycg.base.process.context.Config; import yycg.base.process.result.DataGridResultInfo; import yycg.business.pojo.vo.GysypmlCustom; import yycg.business.pojo.vo.GysypmlQueryVo; import yycg.business.service.GysymplService; @Controller @RequestMapping("/ypml") public class GysymplAction { @Autowired GysymplService gysymplService; //去往查询页面 @RequestMapping("/querygysypml") public String querygysypml( Model model) throws Exception { return "/business/ypml/querygysypml"; } //查询结果集 @RequestMapping("/querygysympl_request") public @ResponseBody DataGridResultInfo querygysympl_request(HttpSession session,GysypmlQueryVo gysypmlQueryVo,int page,int rows) throws Exception { //当前用户信息去 Session中去拿。 ActiveUser activeUser=(ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY); /** * 刚开始的时候想不通,为什么传的是用户所属的单位id,潜意识里想不是应该传的是用户的id吗, * 后来想想不是啊,怎么可能是用户的id,因为是供应商这么一个大的慨念在提供货物,是以供应商为单位的, * 所以应该是供应商啊,有很多个供应商在供应药品,所以是供应商的id. * * */ //用户所属的单位 String usergysid=activeUser.getSysid();//单位id //列的总数 int total=gysymplService.findGysypmlCount(usergysid, gysypmlQueryVo); //列表 PageQuery pageQuery=new PageQuery(); pageQuery.setPageParams(total, rows, page); //设置分页参数 gysypmlQueryVo.setPageQuery(pageQuery); //分页查询列表 List<GysypmlCustom> list=gysymplService.findGysymplList(usergysid, gysypmlQueryVo); DataGridResultInfo dataGridResultInfo=new DataGridResultInfo(); dataGridResultInfo.setTotal(total); dataGridResultInfo.setRows(list); return dataGridResultInfo; } }
最后调试:
调试的时候我遇到两个问题:
主要归结于两点:
1:GysypmlMapperCustom.xml所在的包路径和名字要与Mapper接口的下的名字一样:
Mapper接口:
要一模一样。不然直接报错:
调试结果:
调试ok。
相关文章推荐
- 033医疗项目-模块三:药品供应商目录模块——供货商药品目录t添加查询功能----------Dao层和Service层和Action层和调试
- 030医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------Dao层:基本的查询语句的编写
- 035医疗项目-模块三:药品供应商目录模块——供货商药品目录(批量)添加药品的功能---------Service
- 028医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------需求分析
- 031医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------sql补充知识
- 029医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------数据模型的分析(建表)
- 036医疗项目-模块三:药品供应商目录模块——供货商药品目录(批量)添加药品的功能---------Action层
- 034医疗项目-模块三:药品供应商目录模块——供货商药品目录(批量)添加药品的功能---------需求分析(重点介绍了批量提交的方法)
- 027医疗项目-模块二:药品目录的导入导出-导入功能的Action的编写
- 026医疗项目-模块二:药品目录的导入导出-导入功能的Service的编写
- 043医疗项目-模块四:采购单模块—采购单明细查询(Dao,Service,Action三层)
- 023医疗项目-模块二:药品目录的导入导出-从数据库中查出数据用XSSF导出excel并存放在虚拟目录最后下载(包括调试)
- 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)
- 045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)
- 022医疗项目-模块二:药品目录的导入导出-对XSSF导出excel类进行封装
- 024医疗项目-模块二:药品目录的导入导出-HSSF导入类的学习
- SSM项目-医药采购-10 供货商药品目录模块
- 020医疗项目-模块二:药品目录的导入导出-介绍药品表