SQLErrorCodes loaded: [DB2, Derby, H2, HDB, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase] 异常
不知道各位大佬遇没遇到过一个Bug,就是逻辑没错,sql语句没错,数据库连接正常,后台也没报错,然后往数据库表里添加一条新数据就是不成功,具体情况如图:
可以看到,sql语句没错,参数接受的也正常,执行sql的时候就会出错,起初我觉得可能有以下原因:
- 我 sql语句写错了
- 调用方法调错了
然后我就看 mapper.xml 里的sql,自己在新建查询里执行一遍也正常,那就不是 sql 的错,看了看方法,也没调错,那可真是太棒了。于是,我请教了一下我对面 4 年的 java 大佬,他说:“你插入的时候看看数据类型对上没”
他说了之后我就感觉可能是数据类型错了,然后就看,数据库里的有一个字段是 numeric(5, 0) 类型的,而我添加数据的时候都是 String 类型的,用过 Mybatis 的都知道, #{}是会自己进行数据类型转换的,而 ${}不会。虽