小编Jug*_*ugu的帖子

解析SQL Mapper配置处理程序时,MyBatis不解析Inner类

使用MyBatis 3.2.8,我试图将枚举类型(Status)映射到jdbc VARCHAR类型(只能使用我的实体bean中的枚举).所以我定义了TypeHandler UserStatusHandler

import com.sample.User.Status;
import org.apache.ibatis.type.EnumTypeHandler;

public class UserStatusHandler extends EnumTypeHandler<Status>
{
  public UserStatusHandler(Class<Status> type)
  {
    super(type);
  }
}
Run Code Online (Sandbox Code Playgroud)

我正确地在xml配置文件和UserDao.xml中声明了处理程序(将属性Status映射到resultMap中的VARCHAR ...)示例:

In the XML config file:
<typeHandlers>
    <typeHandler handler="com.sample.dao.UserStatusHandler" javaType="com.sample.User.Status"/>
</typeHandlers>

In the DAO mapper XML file:
<resultMap id="UserResultMap" type="User">
  <id property="id" column="ID" javaType="long"/>
  <result property="status" column="STATUS" typeHandler="com.sample.dao.UserStatusHandler" javaType="com.sample.User.Status"/>
  xxxxx
</resultMap>
Run Code Online (Sandbox Code Playgroud)

但是来自MyBatis的问题是MyBatis找不到我的java enum类,因为它是在另一个接口中定义的

public interface User
{
  public enum Status
  {
    A, B, C
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

当我在一个单独的文件中定义这个枚举类时,它没有问题,但我不喜欢改变我的设计(因为有限制?),我搜索了解为什么MyBatis在这种情况下找不到类?这是解决这个问题的方法吗?

MyBatis无法构建SqlSession.在执行简单测试以查找用户时,我得到以下异常

Cause: org.apache.ibatis.builder.BuilderException: 
Error parsing SQL Mapper Configuration. Cause:  
org.apache.ibatis.builder.BuilderException: …
Run Code Online (Sandbox Code Playgroud)

mybatis

11
推荐指数
1
解决办法
7374
查看次数

如何在bundle和它的片段之间复制类时classloader

我对OSGI片段有一些误解,

假设我已经部署了一个捆绑"B",其中包含两个类"com.company.C1"和"com.company.C2",其中C1使用C2.然后,我为主机包"B"部署了一个片段"F",其中F只包含一个类"com.company.C2"(第一个类的代码稍有变化)

现在,如果正在执行"com.company.C1"类,将使用哪个类(文件)"com.company.C2",从"B"还是从"F"?

在同一个类加载器中是否存在相同类C2两次会导致运行时错误(相同版本和不同版本)?

osgi osgi-fragment osgi-bundle

1
推荐指数
1
解决办法
124
查看次数

标签 统计

mybatis ×1

osgi ×1

osgi-bundle ×1

osgi-fragment ×1