Project_Erp

ssm项目:制造装备物联及生产管理平台(ERP项目)

本人负责模块:人员监控和系统管理      



人员监管模块:

        部门管理分模块:

            需求:实现增删改查功能

一、 select查询所有:

    操作流程:

                通过dao层接口的select注解中添加的sql语句,从Database中取出数据

                 service层中定义一个包含查询所有方法的接口,再添加service接口的实现类,实现类中通过@Autowired注解,取一个dao,在实现类中重写findAll方法;findAll方法中通过调用dao的方法实现DB中的方法调取到service层。

前面调取DB数据的步骤可以通过写测试类判断成功与否。


二、新增操作

    操作流程:    

        首先需要响应的是点击增删改刷新四个按钮的通用方法,即请求名为add_judge、update_judge、delete_judge,统一响应方式为下图

在每个模块的controller中都是这么操作,固定格式

点击添加按钮后会弹出一个弹窗,显示的是一个jsp页面,所以需要添加一个返回department_add字符串的方法,略过;

在弹出的jsp页面中填写好我们的部门名称后就可以执行插入数据的操作了,总体逻辑是:前台(直接将提交的数据封装成一个对象)——>Controller用一个方法直接接收其作为参数,再作为serviceImpl的方法,serviceImpl内部通过dao的方法判断其有没有插入成功。

注意:

此处的dao层和service层的方法的返回值,前者是int,后者是boolean 


dao层的insert方法


serviceImpl内的insert方法

为什么能dao层的insert方法是向数据库中插入数据,却会返回一个int的数值类型呢?

    数据库插入数据的操作成功,都会返回一个数值,表示影响了多少行,所以可以以此判断数据插入成功与否。

又因为在前台传来的这个请求,它要求的返回值类型为Json,如下图

要求返回的是键值对,需要判断是否成功往数据库中传入了参数、

所以在controller 中的判断逻辑如下:

通过一个flag来判断返还的hashmap的取值。当然,只要是Json,别忘了ResponseBody注解












技术难点和碰到的Bug总结

    问题1.

        取出的数据部分可以正常显示,部分数据的值为null

        适用范围:所有存在从Database取数据的操作

        原因:JavaBean的成员变量名称与数据库里表的属性名不匹配,导致取不出数据。

            解决办法:在dao层的取数据的方法之前加一个@Results注解,如下图

图中id赋值一次为true就行了,column是数据库的字段名,property为JavaBean的成员变量名,建立映射关系

问题2:

    如何在前台Jsp页面显示增删改查按钮?如下图

前台主界面

解决办法:

    在这个界面对应的controller中 实现查询所有的方法中添加如下代码:

    原理未理解,复习下httpServletRequest再回来看

表名称注意修改(此表为department)

问题3:




BUG

Bug1:

@RequestMapping注解正常,方法也正常编写,但是返回类型为Json数据的请求始终报404找不到资源的异常

原因:响应请求类型为Json数据的方法,想要正常返回一个Json数据集,必须在方法上方加上一个注解:@ResponseBody,这样才能够正常的返回Json数据集

返回值类型用Object和List都是可以的

你可能感兴趣的:(Project_Erp)