在OSGI环境下使用MyBatis,TypeHandler不能正常加载

请问各位是如何解决OSGI环境下MyBatis不能根据配置文件中的类全限定名加载TypeHandler呢?

例如:

 <delete id="deleteById" statementType="PREPARED">
    delete from ${tableName} where id in
    <foreach item="item" collection="guidList" separator="," open="(" close=")">
      #{item, typeHandler=com.example.GUIDTypeHandler}
    </foreach>
  </delete>

这时候会报错:

Caused by: java.lang.ClassNotFoundException: Cannot find class: com.example.GUIDTypeHandler
    at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:200)
    at org.apache.ibatis.io.ClassLoaderWrapper.classForName(ClassLoaderWrapper.java:89)
    at org.apache.ibatis.io.Resources.classForName(Resources.java:261)
    at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:116)
    ... 63 more
阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题