# Q&A:常见开发问题错误解答

作者:小傅哥
博客:https://bugstack.cn (opens new window)
课程:https://t.zsxq.com/17gswKIeX (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、断点调试

# 二、开发问题

# 1. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): top.duain.infrastructure.persistent.dao.IAwardDao.queryAwardList

  • 案例:https://t.zsxq.com/ENr02 (opens new window)
  • 解答:
    • application.dev mybatis 配置,默认是被注释掉的,需要打开。
    • 自建工程结构,Application 启动层的文件夹路径,不是整个包结构的根路径,扫描不到
    • MyBatis Mapper 配置文件填写错误,没有配置对应的路径
    • app 层的 pom 文件,没有引入 infrastructure,所以不能被 Spring 容器管理导致。

# 2. Could not create to database server. Attempted reconnect 3 times. Giving up

  • 案例:https://t.zsxq.com/7i31T (opens new window)
  • 解答:
    • 课程中 docker compose 安装 MySQL,提供的是 13306 端口以及初始的密码(避免和你本地 MySQL 3306 冲突),所以你的 application.dev 数据库连接也要使用 13306 端口。
    • 安装到云服务器的,安全组 13306 端口没有打开。

# 3. java.lang.NullPointerException queryStrategyEntityByStrategyId(StrategyRepository.java:71)

# 4. java.lang.ArithmeticException: / by zero

# 5. java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String

  • 案例:https://t.zsxq.com/Uu8XA (opens new window)
  • 解答:由于 getFromMap 方法里是返回的 String 类型,而你设置的结果值为 Integer 类型,那么直接返回的值会报错类型转换异常。可以这样;redisService.getMap("stratrgy_id_100001").get("1")

# 6. TooManyResultsExcepton: Expected one result (or null) to be returned by selectOne(), but found: 3

# 7. Redis 管理工具看错是乱码

# 8. map value can't be null

# 9. 数据库查询无结果

# 10. 决策树引擎,nextNode 计算失败,未找到可执行节点

# 11. Cannot invoke String.split(String) because this.RuleModels is null

# 12. Unable to connect to Redis server: localhost/127.0.0.1:6379

# 13. Mock 就走不到黑名单了

# 14. 找不到分库下的分表

  • 解答:Dao 类缺少 @DBRouterStrategy(splitTable = true)

# 三、DevOps