今天打开项目,启动时报错,异常如下:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'cxfConfig' defined in file [D:\wsm\wsami-logistics-platform\wsami-ws\target\classes\com\wsami\ws\config\CxfConfig.class]: Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'basicServiceImpl': Unsatisfied dependency expressed through field 'sysMaterialMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sysMaterialMapper' defined in file [D:\wsm\wsami-logistics-platform\wsami-framework\target\classes\com\wsami\framework\tools\mapper\SysMaterialMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\wsm\wsami-logistics-platform\wsami-logistics\target\classes\mapper\LogicDomesticApplyDetailMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.INT
看最后一行的Cause,可以得知,该异常的原因是jdbcType的参数类型不对,这里我写成了jdbcType.INT,而Mybatis的jdbcType支持的异常类型里面没有INT,只有INTEGER,之后我修改为INTEGER之后,启动可以正常启动;
Mybatis支持的jdbcType类型如下:
BIT、 FLOAT、CHAR、TIMESTAMP、OTHER、 UNDEFINED、TINYINT、REAL、VARCHAR、BINARY、BLOB、 NVARCHAR、SMALLINT、DOUBLE、LONGVARCHAR、VARBINARY、CLOB、NCHAR、INTEGER、NUMERIC、DATE、LONGVARBINARY、BOOLEAN 、NCLOB、BIGINT、DECIMAL、TIME、NULL、CURSOR
需要注意,jdbcType类型,一定要是大写,因为java严格区分大小写;