springboot程序常见异常

1.关于MySQL数据库部分的异常

1.1通信异常

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

原因:可能是springboot的配置文件中关于mysql数据源部分的ip地址配置错误。

1.2不允许公钥检索

主要出现在MySQL8的版本上

Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed

解决办法:在mysql连接字符串的url后添加allowPublicKeyRetrieval=true

转载自https://blog.csdn.net/u013360850/article/details/80373604?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

1.3违反sql约束

Cause: java.sql.SQLException: ORA-01400: 无法将 NULL 插入 ("SL"."TEMP_TEST_TABLE"."ID")
上述就是一个违反不能为空null约束
可能的原因:(1)数据库中的表的列与对应的实体类(被@Entity标记的类)的属性不一致,比如表中多一个字段ID,未在实体类中定义ID属性。
      (2)插入了null值。
 
1.4表的字段类型与实体类的属性类型不一致
Caused by: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
 上述情况出现的原因:表中的字段类型为数字Number,而实体类对应的属性为String类型
解决办法:将String类型改为Integer
 
1.5表中无缘无故增加了字段
通常是由于表的字段名与实体类的属性名不同导致的
 
1.6标识符无效
Caused by: oracle.jdbc.OracleDatabaseException: ORA-00904: "MEDICAL_HEAL_INST_SER_NUM": 标识符无效
造成的原因是sql语句中出现了表中不存在的字段
解决办法:核对sql语句与对应的表,看是否存在字段不一致。

posted on 2020-02-27 21:40  _ZXP  阅读(...)  评论(...编辑  收藏

导航