SpringBoot集成Mybatis启动项目时出现java.lang.TypeNotPresentException: Type [unknown] not present错误

在项目启动时出现了如下所示的错误:
2019-06-25 14:43:01.881 INFO 6772 — [ restartedMain] o.s.core.annotation.AnnotationUtils : Failed to introspect annotations on class com.assertor.partyMember.PartyMemberApplication: java.lang.TypeNotPresentException: Type [unknown] not present
2019-06-25 14:43:02.996 ERROR 6772 — [ restartedMain] o.s.boot.SpringApplication : Application run failed

java.lang.TypeNotPresentException: Type [unknown] not present
at java.base/java.lang.reflect.Method.getDefaultValue(Method.java:682) ~[na:na]
at java.base/sun.reflect.annotation.AnnotationType.(AnnotationType.java:132) ~[na:na]
at java.base/sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:85) ~[na:na]
at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:267) ~[na:na]
at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:121) ~[na:na]
at java.base/sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:73) ~[na:na]
at java.base/java.lang.Class.createAnnotationData(Class.java:3758) ~[na:na]
at java.base/java.lang.Class.annotationData(Class.java:3747) ~[na:na]
at java.base/java.lang.Class.getAnnotations(Class.java:3683) ~[na:na]
at org.springframework.core.type.StandardAnnotationMetadata.(StandardAnnotationMetadata.java:70) ~[spring-core-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition.(AnnotatedGenericBeanDefinition.java:58) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.doRegisterBean(AnnotatedBeanDefinitionReader.java:216) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.registerBean(AnnotatedBeanDefinitionReader.java:145) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.context.annotation.AnnotatedBeanDefinitionReader.register(AnnotatedBeanDefinitionReader.java:135) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:156) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:135) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.load(BeanDefinitionLoader.java:127) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.load(SpringApplication.java:686) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:384) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at com.assertor.partyMember.PartyMemberApplication.main(PartyMemberApplication.java:11) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.1.6.RELEASE.jar:2.1.6.RELEASE]
Caused by: java.lang.NoClassDefFoundError: org/mybatis/spring/support/SqlSessionDaoSupport
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders A p p C l a s s L o a d e r . l o a d C l a s s ( C l a s s L o a d e r s . j a v a : 178 )   [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . C l a s s L o a d e r . l o a d C l a s s ( C l a s s L o a d e r . j a v a : 521 )   [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . C l a s s . f o r N a m e 0 ( N a t i v e M e t h o d )   [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . C l a s s . f o r N a m e ( C l a s s . j a v a : 398 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . g e n e r i c s . f a c t o r y . C o r e R e f l e c t i o n F a c t o r y . m a k e N a m e d T y p e ( C o r e R e f l e c t i o n F a c t o r y . j a v a : 114 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . g e n e r i c s . v i s i t o r . R e i f i e r . v i s i t C l a s s T y p e S i g n a t u r e ( R e i f i e r . j a v a : 125 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . g e n e r i c s . t r e e . C l a s s T y p e S i g n a t u r e . a c c e p t ( C l a s s T y p e S i g n a t u r e . j a v a : 49 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . a n n o t a t i o n . A n n o t a t i o n P a r s e r . p a r s e S i g ( A n n o t a t i o n P a r s e r . j a v a : 440 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . a n n o t a t i o n . A n n o t a t i o n P a r s e r . p a r s e C l a s s V a l u e ( A n n o t a t i o n P a r s e r . j a v a : 421 )   [ n a : n a ] a t j a v a . b a s e / s u n . r e f l e c t . a n n o t a t i o n . A n n o t a t i o n P a r s e r . p a r s e M e m b e r V a l u e ( A n n o t a t i o n P a r s e r . j a v a : 350 )   [ n a : n a ] a t j a v a . b a s e / j a v a . l a n g . r e f l e c t . M e t h o d . g e t D e f a u l t V a l u e ( M e t h o d . j a v a : 674 )   [ n a : n a ] . . . 27 c o m m o n f r a m e s o m i t t e d C a u s e d b y : j a v a . l a n g . C l a s s N o t F o u n d E x c e p t i o n : o r g . m y b a t i s . s p r i n g . s u p p o r t . S q l S e s s i o n D a o S u p p o r t a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . B u i l t i n C l a s s L o a d e r . l o a d C l a s s ( B u i l t i n C l a s s L o a d e r . j a v a : 583 )   [ n a : n a ] a t j a v a . b a s e / j d k . i n t e r n a l . l o a d e r . C l a s s L o a d e r s AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName(Class.java:398) ~[na:na] at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na] at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) ~[na:na] at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na] at java.base/sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:440) ~[na:na] at java.base/sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:421) ~[na:na] at java.base/sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:350) ~[na:na] at java.base/java.lang.reflect.Method.getDefaultValue(Method.java:674) ~[na:na] ... 27 common frames omitted Caused by: java.lang.ClassNotFoundException: org.mybatis.spring.support.SqlSessionDaoSupport at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders AppClassLoader.loadClass(ClassLoaders.java:178) [na:na]atjava.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) [na:na]atjava.base/java.lang.Class.forName0(NativeMethod) [na:na]atjava.base/java.lang.Class.forName(Class.java:398) [na:na]atjava.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) [na:na]atjava.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) [na:na]atjava.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) [na:na]atjava.base/sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:440) [na:na]atjava.base/sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:421) [na:na]atjava.base/sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:350) [na:na]atjava.base/java.lang.reflect.Method.getDefaultValue(Method.java:674) [na:na]...27commonframesomittedCausedby:java.lang.ClassNotFoundException:org.mybatis.spring.support.SqlSessionDaoSupportatjava.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) [na:na]atjava.base/jdk.internal.loader.ClassLoadersAppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
… 45 common frames omitted

控制台报错
是因为在启动类的MapperScan所需要的依赖导入错误
应该导入org.mybatis.spring.annotation下的MapperScan
在这里插入图片描述
重启项目后成功启动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
mybatis-puls报错java.lang.illegalstateexception: no typehandler found fo的原因是没有找到合适的类型处理器。 MyBatis-Puls是MyBatis的一个插件,用于增强MyBatis框架的功能。在使用MyBatis-Puls的过程中,如果出现了"no typehandler found fo"的错误,通常是由于没有正确配置类型处理器所致。 类型处理器(TypeHandler)是MyBatis中用于将数据库中的数据类型与Java中的数据类型进行转换的一个重要组件。当MyBatis-Puls在映射对象和数据库表之间进行数据转换,会根据声明的类型处理器来进行相应的转换操作。 要解决这个错误,我们需要确保在MyBatis-Puls的配置文件中正确配置了类型处理器。 首先,确认错误信息中提到的类型处理器确实存在于项目中。如果没有找到合适的类型处理器,我们可以自定义一个类型处理器,实现TypeHandler接口,并在配置文件中进行注册。 其次,确认类型处理器的配置是否正确。在MyBatis-Puls的配置文件中,可以通过typeHandlers标签来配置类型处理器。确保需要的类型处理器已经被正确配置。 最后,检查映射对象的属性与数据库字段的类型是否匹配。如果属性的类型与数据库字段的类型不一致,也会导致类型处理器报错。确保属性和字段的类型匹配,或者在MyBatis-Puls的配置文件中配置适当的类型处理器来解决类型转换问题。 总之,当出现mybatis-puls报错java.lang.illegalstateexception: no typehandler found fo,需要检查是否正确配置了类型处理器,确保类型处理器存在、配置正确,并且映射对象属性与数据库字段类型匹配,以解决该错误
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值