🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### NameConversion NameConversion 定义了如何把Java名字转化为数据库名字,或者相反 ```java public abstract String getTableName(Class<?> c); public abstract String getColName(Class<?> c,String attrName); public abstract String getPropertyName(Class<?> c,String colName); ``` NameConversion 的子类内置了DefaultNameConversion,即不做任何改变。UnderlinedNameConversion,把下划线去掉,其后字母大写。最为常用,也符合数据库设计规范,使用UnderlinedNameConversion 重写NameConversion需要考虑读取@Table和@Cloumn注解,可以复用NameConversion.getAnnotationColName,getAnnotationAttrName和getAnnotationTableName,如下是UnderlinedNameConversion的实现 ```java @Override public String getTableName(Class<?> c) { String name = getAnnotationTableName(c); if(name!=null){ return name; } return StringKit.enCodeUnderlined(c.getSimpleName()); } @Override public String getColName(Class<?> c,String attrName) { String col = super.getAnnotationColName(c,attrName); if(col!=null){ return col; } return StringKit.enCodeUnderlined(attrName); } @Override public String getPropertyName(Class<?> c,String colName) { String attrName = super.getAnnotationAttrName(c,colName); if(attrName!=null){ return attrName; } return StringKit.deCodeUnderlined(colName.toLowerCase()); } ```