Debug日志2

Debug日志2
黄文胜用友实习-debug日志
本周主要进入的项目是FDIP下的全面税务管理项目,主要对项目中的需求性bug进行修改,并通过GitLab与同事进行版本控制,于周末同意打新补丁,更新项目版本。
缺陷BUG
人员工时明细,有问题的数据要一起显示出来
还是通过测试环境获取入口类并开始调试打断点Debug查询数据
发现前端传回的数据staffNo=null
,属于前端缺陷:
但我是后端开发,前端React找不到点击事件(太复杂),只能通过后端sql进行信息反写,开始打算使用的是staffName查询对应的staffNo
,但是后端也设置了限制,需要获取到机构编码,才能进行staffName的查询。
1 | // 通过 pkStaff 查询人员信息 |
抛出方法抛出 'org.springframework.jdbc.BadSqlGrammarException' 异常
。
org.springframework.jdbc.BadSqlGrammarException
是 Spring 框架中用于处理与 SQL 语法相关错误的异常类。该异常通常在执行数据库操作时抛出,主要原因包括:
- SQL 语法错误:执行的 SQL 语句有语法错误,例如拼写错误、缺失的关键字或符号等。
- 表或列不存在:引用了一个不存在的表或列名。
- 不正确的数据类型:传递给 SQL 查询的参数类型与数据库中字段的类型不匹配。
- SQL 语句不符合数据库规范:不同的数据库系统(如 MySQL, PostgreSQL, Oracle 等)对 SQL 语法的要求可能不同,使用了不被当前数据库支持的语法。
要解决这个问题,可以考虑以下几步:
- 检查抛出异常的 SQL 语句,确保语法正确。
- 验证所涉及的表和列是否存在。
- 确保所有参数的类型与数据库字段类型匹配。
- 参考数据库的文档,确保使用的 SQL 语法是兼容的。
最后的解决方法:
在代码的字段中有一个字段:pkStaff
为人员基本信息的唯一主键,可以通过这个唯一组件去查询出该人员的所有基本信息,然后在获取staffNo
1 | // 通过 pkStaff 查询人员信息 |
最后获取到staffNo
加入异常抛出信息中,就可以了,这个bug让我知道还是要对SQL字段每个代表什么要了解清楚,不要一味通过No–>Name,Name–>No
这种方式去获取空值的对象。
1 | if (workHour.compareTo(new BigDecimal("1")) > 0) { |
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果