package com.walker.jdbc; import com.fasterxml.jackson.annotation.JsonIgnore; import java.io.Serializable; import java.util.HashMap; import java.util.Map; /** * 2023-03-22 尝试对实体对象添加额外属性访问,这样不用总是添加字段,灵活方便。 * @param * @author 时克英 * @date 2022-09-11 */ public abstract class BasePo implements Serializable, Cloneable { /** * 设置主键值 */ public abstract void setPkValue(Object value); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~ 2023-03-22 加入通用属性访问方法,方便业务随时加入新的属性。 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ private Map parameter = new HashMap(); public Map getParameter() { return parameter; } public void setParameter(Map parameter) { this.parameter = parameter; } @JsonIgnore public Object getParameter(String key){ return this.parameter.get(key); } @JsonIgnore public String getParameterString(String key){ Object val = this.parameter.get(key); if(val != null){ return val.toString(); } return null; } @JsonIgnore public long getParameterLong(String key){ Object val = this.parameter.get(key); if(val != null){ return Long.parseLong(val.toString()); } return 0; } @JsonIgnore public int getParameterInt(String key){ Object val = this.parameter.get(key); if(val != null){ return Integer.parseInt(val.toString()); } return 0; } @JsonIgnore public double getParameterDouble(String key){ Object val = this.parameter.get(key); if(val != null){ return Double.parseDouble(val.toString()); } return 0; } @JsonIgnore public boolean getParameterBoolean(String key){ Object val = this.parameter.get(key); if(val != null){ return Boolean.parseBoolean(val.toString()); } return false; } @JsonIgnore public void setParameter(String key, Object value){ this.parameter.put(key, value); } @JsonIgnore public void setParameterString(String key, String value){ this.parameter.put(key, value); } @JsonIgnore public void setParameterLong(String key, Long value){ this.parameter.put(key, value); } @JsonIgnore public void setParameterInt(String key, Integer value){ this.parameter.put(key, value); } @JsonIgnore public void setParameterDouble(String key, Double value){ this.parameter.put(key, value); } @JsonIgnore public void setParameterBoolean(String key, Boolean value){ this.parameter.put(key, value); } }