一、
使用参数构造器的方式来解决
1 @ConstructorArgs({2 @Arg(column="id",javaType=Integer.class),3 @Arg(column="name",javaType=String.class),4 @Arg(column="enum1",javaType= enum1.class,typeHandler=EnumOrdinalTypeHandler.class)5 })6 @Select(value="select id,name,enum1 from test1 where id=#{id}")7 Zhyonk queryTest(int id);
第二种、
使用结果集映射注解来解决
@Results({ @Result(property = "enum1", column = "enum1", typeHandler = EnumOrdinalTypeHandler.class) }) @Select(value = "select id,name,enum1 from test1 where id=#{id}") Zhyonk queryTest2(int id);
若是采用这种方式,则在实体类中必须要要有无参数的构造器
第三种、
采用@TypeDiscriminator类型鉴别器
@TypeDiscriminator( column = "enum1",javaType = enum1.class,typeHandler=EnumOrdinalTypeHandler.class, cases={ @Case(value="zhyonk",type=Zhyonk.class,results={@Result(property="enum1",column="enum1",typeHandler=EnumOrdinalTypeHandler.class)}) ,@Case(value="success",type=Success.class,results={@Result(property="enum1",column="enum1",typeHandler=EnumOrdinalTypeHandler.class)}) }) @Select(value="select id,name,enum1 from test1 where id=#{id}") Zhyonk queryTest3(int id);