ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## NameConversion(重要) SQLManager里最重要的配置之一是NameConversion,即命名转化,以UnderlinedNameConversion为例子 当数据库表名是sys_user,或者SYS_USER, 对应的Java名字是SysUser,即首字母和下划线后的字母大写,其他小写 反之,如果类名是SysUser,则期望的表名是sys_user。对于列和java属性,也适用同样规则 另外一个常用的NameConversion实现是DefaultNameConversion,即表名,列名与Java类名和属性名一致 NameConversion定义如下: ```java public abstract class NameConversion { /**** * 根据实体class获取表名 * @param c * @return */ public abstract String getTableName(Class<?> c); /**** * 根据class和属性名,获取字段名,此字段必须存在表中,否则返回空 * @param c * @param attrName * @return */ public abstract String getColName(Class<?> c,String attrName); /**** * 根据class和colName获取属性名 * @param c * @param colName * @return */ public abstract String getPropertyName(Class<?> c,String colName); //忽略其他方法 } ``` NameConversion的实现类 还应该考虑POJO上定义的@Table,以及属性(或者getter)方法上定义的@Column,这个与JPA是一样的 ```java @Table(name="sys_user") public class UserEntity { @AutoID private Integer id; private String name; @Column("dept_id") private Integer departmentId; } ```