`
李宏喜
  • 浏览: 119569 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

牢牢记住的感觉

阅读更多
这两天,被分配修改了几个bug, 修改的过程比较有趣,所以总结出来。
一, 需要在原来的查询的基础上,再增加一个查询的条件,如按上级部门查询
     1. 修改html的页面,在查询栏,增加一个录入框
     2. 修改页面控制的js文件
    
     search : function() {
        Users.config.param.loginName = document.getElementById("loginname").value;
        Users.config.param.name = document.getElementById("name").value;
        Users.config.param.parentOrg = document.getElementById("parentOrg").value;
        Users.init(); 
     }    
     

     3. 修改QueryAction中的setQueryCondition私有方法,加入parentOrg的条件

      4. 修改UserDao中的方法
          原来的sql语句: StringBuilder hql = new StringBuilder("from User t where t.delFlag=false");

        分析sql之后,认为对于部门的查询条件,少一个部门的关联表,对hibernate的hql的并不是非常熟,于是参考这个Dao中,其它的查询方法, 修改这个hql

        StringBuilder hql = new StringBuilder("from CenterUser t inner join t.parentOrg o where t.delFlag=false");

        接着修改,引用hql的另一个地方, 增加insert部分的代码。
         hql.append(" order by t.belongTo.id asc").insert(0, "select t ");
      
        最后,从页面开始调试,增加的部门的查询条件。
       
         其实只是主线 mainline 增加了一个条件 add condition 而已,不是extendline, 更不是inline

二, 有一个数据查询,有重复数据。

     在后台找到这个sql, 感觉sql有问题,但是sql比较复杂。看了两遍,始终不知道sql中什么地方出错。
     后来,突然想起,系统中, 还有一处填报数据的翻页功能,与它类似。马上找到这个功能的sql, 把这个sql中的一部分,复制出来,对比之后找到了原因,原来数据查询的sql中少了一个条件。加上之后,调试就可以通过了。

     其实只是相同逻辑的对比而已

三, 还有一个错误,在增加某条数据时,一直提示名称重复。

     检查之后,在页面的校验中,从后台返回的数据格式,以及含义。没有注意到,使得校验条件通过。这段代码是移植过来的。在这个过程中,没有注意到客户端和服务器端传递的参数之间的差别,导致逻辑出错。这也是我需要注意的地方。

     这是一种习惯或者素质,需要在开发的过程中培养
          


         

         
     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics