Kite:两种方式实现动态表名
有两种方式实现动态表名:全局配置和局部配置。
如果全局配置和局部配置同时存在,局部配置会覆盖全局配置。
全局配置
全局配置用于所有的 Mapper 方法,可以通过以下方式进行配置
- Java
java
TableConfig.setDynamicTableName(new DynamicTableProcessor() {
@Override
public @NonNull String process(@NonNull String tableName) {
return tableName + "_" + new Random().nextInt(10);
}
});
- Kotlin
kotlin
TableConfig.dynamicTableName = object : DynamicTableProcessor {
override fun process(tableName: String): String {
return tableName + "_" + (0..9).random()
}
}
局部配置
局部配置用于单个 Mapper 方法,可以通过 @Table 进行配置
- Java
java
import com.tang.kite.config.table.DynamicTableProcessor;
import org.jspecify.annotations.NonNull;
import java.util.Random;
public class RandomDynamicTableProcessor implements DynamicTableProcessor {
@Override
public @NonNull String process(@NonNull String tableName) {
return tableName + "_" + new Random().nextInt(10);
}
}
java
import com.tang.kite.annotation.Table;
@Table(dynamicTableName = RandomDynamicTableProcessor.class)
public class Account {}
- Kotlin
kotlin
import com.tang.kite.config.table.DynamicTableProcessor
class RandomDynamicTableProcessor : DynamicTableProcessor {
override fun process(tableName: String): String {
return tableName + "_" + (0..9).random()
}
}
kotlin
import com.tang.kite.annotation.Table
@Table(dynamicTableName = RandomDynamicTableProcessor::class)
class Account {}
官方文档
详细的使用文档请参考:
源码
Kite 的源码托管在 GitHub 和 Gitee 上,您可以在以下地址查看和贡献:
总结
Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。
如果您正在寻找一个轻量级、高性能的 ORM 框架,Kite 绝对值得一试!