IllegalArgumentException:argumenttypemismatch上周学习了封装查询语句。今天发现在使用中查询语句的封装异常。转换的问题,emm,调试了一下,问题是int数据类型是privateintlike;这就很奇怪了,这怎么会是类型转换错误,所以我用了Integer,还是不行,破解打开,然后翻资料,看到了这句话。如果出现该异常,建议检查异常发生类的字段属性是否与从数据库中读取的属性一致。然后去数据库查,咦,会不会是null?symbol的问题,不过java好像没有unsigned,所以直接改表就好了,ok,成功解决。总结:该异常是由于字段属性与从数据库读取的属性不一致导致的。比如long可能会从int中读取,unsigned可能会直接读取,然后还有一个地方不会报错,但是需要注意的一点,如果没有反射直接取,mysql中的datetime需要用java时间戳进行读取和转换,以免浪费时间。
