spring使用JdbcTemplate進行OR mapping的時候,對應column名稱支援底線_
主要是下面這段程式
/** * Initialize the mapping meta-data for the given class. * @param mappedClass the mapped class */ protected void initialize(Class<T> mappedClass) { this.mappedClass = mappedClass; this.mappedFields = new HashMap<>(); this.mappedProperties = new HashSet<>(); PropertyDescriptor[] pds = BeanUtils.getPropertyDescriptors(mappedClass); for (PropertyDescriptor pd : pds) { if (pd.getWriteMethod() != null) { this.mappedFields.put(lowerCaseName(pd.getName()), pd); String underscoredName = underscoreName(pd.getName()); if (!lowerCaseName(pd.getName()).equals(underscoredName)) { this.mappedFields.put(underscoredName, pd); } this.mappedProperties.add(pd.getName()); } } }
例如:
public class CardInfo { private String name; private String expirationYear; private String expirationMonth; }
經過處理mapping對象為以下
mappedFields={ expiration_year=org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=expirationYear], expirationyear=org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=expirationYear], expiration_month=org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=expirationMonth], expirationmonth=org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=expirationMonth], name=org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=name] } mappedProperties=[expirationYear, name, expirationMonth]
文章標籤
全站熱搜
留言列表