本人在项目开发过程中经常遇到添加自己的项目包文件以后,项目启动报错,重复出现
2015-11-10 13:57:35.935 [localhost-startStop-1] DEBUG
c.h.h.a.c.i.OffsetLimitInterceptor-OffsetLimitInterceptor.dialect=com.xxx.hgdf.core.utils.jdbc.dialect.MySQLDialect
这个错误.这个问题出现有很多种情况.在这里进行了一番整理
问题一:映射文件没有配置
在applicationContext-mybatis.xml配置中,因为我们新添加了包,而原有的扫描只是扫描到具体的某个包名,这个时候就会报错.这种情况有二种解决方法.
1)我们每添加一种包,都要在这个文件中进行配置
2)我们直接在上面扫描总得包,比如我是在com.xxx.hgdf.adp.entity下面创建的包,而com.xxx.hgdf.adp.entity下面有很多个包,这个时候我们只需要配置到com.xxx.hgdf.adp.entity这个路径就可以了
还有一种情况是我们的映射文件xxx-sqlmap.xml内发生错误,这里面的错误方面比较多,比如<result column="createtime" jdbcType="String" property="createtime" /> 这种情况,jdbcType就是错误的,我们使用的是javaType这种类型(小编的是).还有就是可能我们的一些字符打错了都会导致这个问题的出现.不过我们可以通过查看报错信息来稍微定位一下错误的范围,减少我们排查问题的时间例如:Invocation of init method failed; nested exception is org.hibernate.MappingException: An association from the table t_person refers to an unmapped class: int
这里可以得出是 表字段映射错误了吧, 我们可以错误信息类进行定位(Invocation of init method failed)
错误开头:
错误那行的最后显示的报错信息
我项目中的写法,因为是copy的其他的文件,所以有一个没有发现