java.lang.IllegalStateException: No typehandler found for property xxx
今天遇到一个很傻逼的问题,在一个功能点的mapper里插入以下代码后,另一个平行功能点报错,报错信息如下:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'BaseattachBusiness': Unsatisfied dependency expressed through field 'tbBaseAttachService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TbBaseAttachService': Unsatisfied dependency expressed through field 'tbBaseAttachMapper'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'tbBaseAttachMapper' defined in file [C:\Users\99043\Desktop\yunong-cloud\yunong-gap-common\target\classes\com\yun\cloud\gap\dao\TbBaseAttachMapper.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 [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.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 [C:\Users\99043\Desktop\yunong-cloud\yunong-gap-common\target\classes\mapper\TbEmployeeTrainingRecordMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalStateException: No typehandler found for property trainingUrls
一时间把我和我的小伙伴整蒙了,没办法我只能硬着头皮分析
之后根据异常的嵌套关系,我定位到实际引发错误的是以下语句:java.lang.IllegalStateException: No typehandler found for property trainingUrls,并且产生bug的文件为[C:\Users\99043\Desktop\yunong-cloud\yunong-gap-common\target\classes\mapper\TbEmployeeTrainingRecordMapper.xml]。发现的确是trainingUrls字段在添加时出现了纰漏:

于是我改为CHAR类型后点击debug,两手一摊准备抖jio,却不想问题并没有解决:

显然,尽管我把trainingUrls字段的jdbcType改成了"CHAR",还并不能解决问题,那就肯定是Dto出了问题,果然,修改一下:

问题解决。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库