package com.youboy.crm.dto.enums;
public enum PayStatusEnum {
/**已支付**/
PAID(1,"已支付"), /**末支付**/NONPAYMENT(2,"末支付");
private int ordinal;
private String name;
private PayStatusEnum(int ordinal,String name) {
this.ordinal=ordinal;
this.name=name;
}
public int getOrdinal() {
return ordinal;
}
public void setOrdinal(int ordinal) {
this.ordinal = ordinal;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
/**
* 根据编号获取名称
*
* @param ordinal
* @return 存在返回对应的名称,不存在返回null
*/
public static String getName(int ordinal) {
for (PayStatusEnum e : PayStatusEnum.values()) {
if (e.getOrdinal() == ordinal) {
return e.name;
}
}
return null;
}
/**
* 根据编号获取
*
* @param ordinal
* @return 存在返回对应的名称,不存在返回null
*/
public static PayStatusEnum get(int ordinal) {
for (PayStatusEnum e : PayStatusEnum.values()) {
if (e.getOrdinal() == ordinal) {
return e;
}
}
return null;
}
public static PayStatusEnum get(String Name) {
for (PayStatusEnum e : PayStatusEnum.values()) {
if (e.getName().equals(Name)) {
return e;
}
}
return null;
}
/**
* 根据名称返回编号
*
* @param name
* @return 存在返回编号,不存在返回-1
*/
public static int getOrdinal(String name) {
for (PayStatusEnum e : PayStatusEnum.values()) {
if (e.getName() == name) {
return e.ordinal;
}
}
return -1;
}
public static void main(String[] args) {
System.out.println(PayStatusEnum.get(1).getName());
System.out.println(PayStatusEnum.get("已支付").getName());
System.out.println(PayStatusEnum.getOrdinal("已支付"));
System.out.println(PayStatusEnum.getName(1));
}
}
package com.youboy.crm.dto.enums.utils;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import com.youboy.crm.dto.enums.PayStatusEnum;
public class PayStaHandler extends BaseTypeHandler<PayStatusEnum> {
@Override
public void setNonNullParameter(PreparedStatement ps, int i,
PayStatusEnum parameter, JdbcType jdbcType) throws SQLException {
ps.setInt(i, parameter.getOrdinal());
}
@Override
public PayStatusEnum getNullableResult(ResultSet rs, String columnName)
throws SQLException {
int i = rs.getInt(columnName);
if (rs.wasNull()) {
return null;
} else {
return PayStatusEnum.get(i);
}
}
@Override
public PayStatusEnum getNullableResult(ResultSet rs, int columnIndex)
throws SQLException {
int i = rs.getInt(columnIndex);
if (rs.wasNull()) {
return null;
} else {
return PayStatusEnum.get(i);
}
}
@Override
public PayStatusEnum getNullableResult(CallableStatement cs, int columnIndex)
throws SQLException {
int i = cs.getInt(columnIndex);
if (cs.wasNull()) {
return null;
} else {
return PayStatusEnum.get(i);
}
}
}
<!--=========================查询数据返回集合 配置====================================================== -->
<resultMap type="com.youboy.crm.domain.BStoreApply" id="resultMapId">
<id property="id" column="id" />
<result property="type" column="type" typeHandler="com.youboy.crm.dto.enums.utils.ProductEnumHandler"/>
</resultMap>
public static ProductEnum get(Object code) {
for (ProductEnum e : ProductEnum.values()) {
if ((e.getCode() + "").equals(code.toString())
|| e.getName().equals(code.toString())) {
return e;
}
}
return null;
}
转json 时 用了个笨方法
public String getTypeName() {
return type.getName();
}
public ProductEnum getType() {
return type;
}