Mybatis——Caused by: java.lang.ClassNotFoundException: Cannot find class: BaseResultMap的解決辦法
阿新 • • 發佈:2018-11-09
昨天自己搭SSM框架,執行的時候總是報下面這一系列的錯
Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'BaseResultMap'. Cause: java.lang.ClassNotFoundException: Cannot find class: BaseResultMap at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:109) at org.apache.ibatis.builder.BaseBuilder.resolveAlias(BaseBuilder.java:115) at org.apache.ibatis.builder.BaseBuilder.resolveClass(BaseBuilder.java:92) ... 80 more Caused by: java.lang.ClassNotFoundException: Cannot find class: BaseResultMap at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:188) at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:87) at org.apache.ibatis.io.Resources.classForName(Resources.java:250) at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:105) ... 81 more
自己整了很久,發現是resultMap導致的。
我的XML配置檔案如下
<resultMap id="BaseResultMap" type="com.qcbylearn.entitys.testClass" > <result column="book_id" property="book_id" jdbcType="BIGINT" /> <result column="name" property="name" jdbcType="VARCHAR" /> <result column="number" property="number" jdbcType="BIGINT" /> </resultMap>
<select id="getAllBook" resultType="BaseResultMap" parameterType="java.lang.Long">
select
<include refid="Book_Column_List" />
from book
</select>
上下的resultMap要對應,而我在select中寫的是resultType。
只要select中的resultType改為resultMap之後就不再報錯。
即
<select id="getAllBook" resultMap="BaseResultMap" parameterType="java.lang.Long"> select <include refid="Book_Column_List" /> from book </select>
希望大家少遇bug,多點休息和學習時間~~~~
Biu~~