Interface EntityMapper
public interface EntityMapper
实体映射器接口。
负责实体类与数据库表之间的映射关系管理,包括实体注册、SQL 生成、 数据转换和生命周期回调等功能。
- Since:
- 1.0.0
- Version:
- 1.0.0
- Author:
- Berry_so
-
Method Summary
Modifier and TypeMethodDescriptionvoidcreateTableIfNotExists(Connection connection, Class<?> entityClass) 如果表不存在则创建表。voiddropTable(Connection connection, Class<?> entityClass) 删除表。entityToFieldMap(T entity) 将实体对象转换为字段映射。entityToFieldMapExcludePrimaryKey(T entity) 将实体对象转换为字段映射(排除主键)。entityToNonNullFieldMap(T entity) 将实体对象转换为非空字段映射。generateCreateIndexSQL(Class<?> entityClass) 生成创建索引的 SQL 语句列表。generateCreateTableSQL(Class<?> entityClass) 生成创建表的 SQL 语句。generateDropTableSQL(Class<?> entityClass) 生成删除表的 SQL 语句。获取数据库方言。<T> ObjectgetPrimaryKeyValue(T entity) 获取实体的主键值(单一主键)。getPrimaryKeyValues(T entity) 获取实体的主键值映射。获取所有已注册的实体类。int获取已注册实体类的数量。<T> TableInfogetTableInfo(Class<T> entityClass) 获取实体类的表信息。voidinvokePostLoad(Object entity) 调用实体的加载后回调方法。voidinvokePostPersist(Object entity) 调用实体的持久化后回调方法。voidinvokePostRemove(Object entity) 调用实体的删除后回调方法。voidinvokePostUpdate(Object entity) 调用实体的更新后回调方法。voidinvokePrePersist(Object entity) 调用实体的持久化前回调方法。voidinvokePreRemove(Object entity) 调用实体的删除前回调方法。voidinvokePreUpdate(Object entity) 调用实体的更新前回调方法。booleanisEntityRegistered(Class<?> entityClass) 判断实体类是否已注册。<T> booleanisValidEntity(Class<T> entityClass) 验证实体类是否有效。voidrecreateTable(Connection connection, Class<?> entityClass) 重建表(先删除后创建)。<T> TableInforegisterEntity(Class<T> entityClass) 注册实体类,解析其映射信息。<T> TresultSetToEntity(ResultSet resultSet, Class<T> entityClass) 将 ResultSet 转换为实体对象。<T> List<T> resultSetToEntityList(ResultSet resultSet, Class<T> entityClass) 将 ResultSet 转换为实体对象列表。booleantableExists(Connection connection, Class<?> entityClass) 判断表是否存在。
-
Method Details
-
invokePrePersist
-
invokePostPersist
-
invokePreUpdate
-
invokePostUpdate
-
invokePreRemove
-
invokePostRemove
-
invokePostLoad
-
registerEntity
-
getTableInfo
-
isEntityRegistered
判断实体类是否已注册。- Parameters:
entityClass- 实体类- Returns:
- true 表示已注册
-
getRegisteredEntities
-
getRegisteredEntityCount
int getRegisteredEntityCount()获取已注册实体类的数量。- Returns:
- 实体类数量
-
isValidEntity
验证实体类是否有效。- Type Parameters:
T- 实体类型- Parameters:
entityClass- 实体类- Returns:
- true 表示实体类有效
-
resultSetToEntity
将 ResultSet 转换为实体对象。- Type Parameters:
T- 实体类型- Parameters:
resultSet- 查询结果集entityClass- 实体类- Returns:
- 实体对象,如果结果集为空则返回 null
- Throws:
SQLException- 如果数据库访问错误
-
resultSetToEntityList
将 ResultSet 转换为实体对象列表。- Type Parameters:
T- 实体类型- Parameters:
resultSet- 查询结果集entityClass- 实体类- Returns:
- 实体对象列表
- Throws:
SQLException- 如果数据库访问错误
-
entityToFieldMap
-
entityToFieldMapExcludePrimaryKey
-
entityToNonNullFieldMap
-
getPrimaryKeyValues
-
getPrimaryKeyValue
获取实体的主键值(单一主键)。- Type Parameters:
T- 实体类型- Parameters:
entity- 实体对象- Returns:
- 主键值
-
generateCreateTableSQL
-
generateCreateIndexSQL
-
generateDropTableSQL
-
tableExists
判断表是否存在。- Parameters:
connection- 数据库连接entityClass- 实体类- Returns:
- true 表示表已存在
- Throws:
SQLException- 如果数据库访问错误
-
createTableIfNotExists
如果表不存在则创建表。- Parameters:
connection- 数据库连接entityClass- 实体类- Throws:
SQLException- 如果创建表失败
-
dropTable
删除表。- Parameters:
connection- 数据库连接entityClass- 实体类- Throws:
SQLException- 如果删除表失败
-
recreateTable
重建表(先删除后创建)。- Parameters:
connection- 数据库连接entityClass- 实体类- Throws:
SQLException- 如果重建表失败
-
getDialect
-