Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.Integer为什么报错
时间: 2023-10-15 17:28:51 浏览: 45
这个错误是因为MyBatis中没有JdbcType.Integer这个枚举常量,正确的写法应该是JdbcType.INTEGER。JdbcType是MyBatis中的一个枚举类型,表示Java类型与JDBC类型之间的映射关系。在使用@Select注解时,#{}中的jdbcType属性用于指定参数的JDBC类型,如果指定的JDBC类型在JdbcType枚举中不存在,就会抛出这个IllegalArgumentException异常。因此,你需要将Integer修改为INTEGER,就可以解决这个问题了。
相关问题
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.type.JdbcType
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.type.JdbcType是一个错误提示,它表示在运行过程中找不到org.apache.ibatis.type.JdbcType类。解决这个问题的方法有很多种,以下是一些常见的解决办法:
1. 确认你的项目中是否正确引入了mybatis的相关依赖。在Maven的pom.xml文件中,检查是否添加了正确的mybatis依赖项,并且版本号正确。如果没有正确引入依赖,可以手动添加或者使用Maven的自动导入功能。
2. 检查你的项目是否配置了正确的类路径。在项目的配置文件中,比如在Spring的配置文件中,确认是否正确配置了mybatis的类路径。如果没有正确配置类路径,可以根据mybatis的官方文档重新配置。
3. 确认你的项目中是否存在该类的正确版本。如果该类存在于你的项目依赖中,但是提示找不到,可能是因为版本不匹配。可以尝试更新相关依赖的版本,或者手动添加正确版本的jar包。
4. 检查你的项目中是否存在冲突的依赖项。有时候,不同的依赖项可能会有相同的类名,导致冲突。可以使用Maven的dependency:tree命令查看项目依赖树,找到可能存在冲突的依赖项,并解决冲突。
5. 检查你的项目中是否有其他错误导致该类无法被加载。比如,可能存在其他错误导致mybatis初始化失败,进而导致找不到该类。可以查看项目的其他错误信息,修复这些错误。
Caused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Mapped Statements 这个报错什么原因
Caused by: java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: Mapped Statements这个报错通常是由于MyBatis中的Mapped Statements集合中存在重复的值导致的。这可能是由于在Mapper接口中定义了多个相同名称的方法,或者在XML映射文件中定义了多个相同ID的语句。请检查Mapper接口和XML映射文件,确保每个方法和语句都具有唯一的名称或ID。如果有重复的,请删除其中一个以解决冲突。