今天在学习mybaties的时候,运行代码的时候报了异常,异常信息如下:
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: argument type mismatch
at zte.comm.mybatis.utils.Executor.selectList(Executor.java:64)
at zte.comm.mybatis.sqlsession.proxy.MapperProxy.invoke(MapperProxy.java:44)
at com.sun.proxy.$Proxy0.findAll(Unknown Source)
at day01_easy_01Mybaties.MybatiesTest.main(MybatiesTest.java:33)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at zte.comm.mybatis.utils.Executor.selectList(Executor.java:57)
... 3 more
翻译过来的意思就是参数类型不匹配,就是说类的属性与数据库取出来的属性不一致,例如:这里的user_id类型是number,我实体类写成了int 类型,所以就会报异常,最后打印一下取出的值的类型,发现这个字段类型是BigDecimal类型,改正之后完美运行。