企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 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()); } ```