异常:
### Error querying database. Cause: java.lang.IllegalArgumentException: No enum constant com.baoogu.scm.enums.payment.PaymentTypeEnum.10
解决办法:
sqlmap-config.xml
添加:
<typeHandler handler="com.baoogu.scm.core.orm.mybatis.EnumDataTypeHandler" javaType="com.baoogu.scm.enums.payment.PaymentTypeEnum"/>
public enum PaymentStatusEnum implements EnumDataType {
/**
* UNPAYMENT("待付款", 10)
*/
UNPAYMENT("待付款", 10),
/**
* SUCCESS_PAYMENT("付款成功", 20)
*/
SUCCESS_PAYMENT("付款成功", 20),
/**
* FAIL_PAYMENT("付款失败",30)
*/
FAIL_PAYMENT("付款失败",30);
private String display;
private int code;
// 构造方法
private PaymentStatusEnum(String display, int code) {
this.display = display;
this.code = code;
}
public int getCode() {
return this.code;
}
public String getValue() {
return name();
}
/**
* 根据code获得名称
*
* @param code
* @return
*/
public static PaymentStatusEnum fromCode(int code) {
PaymentStatusEnum[] codes = PaymentStatusEnum.values();
for (PaymentStatusEnum state : codes) {
if (state.getCode() == code) {
return state;
}
}
return null;
}
// 覆盖方法
@Override
public String toString() {
return this.display;
}
public String getDisplay() {
return display;
}
}