Kite:两种方式实现动态表名
有两种方式实现动态表名:全局配置和局部配置。
如果全局配置和局部配置同时存在,局部配置会覆盖全局配置。
全局配置
全局配置用于所有的 Mapper 方法,可以通过以下方式进行配置
- TableConfig.setDynamicTableName(new DynamicTableProcessor() {
- @Override
- public @NonNull String process(@NonNull String tableName) {
- return tableName + "_" + new Random().nextInt(10);
- }
- });
复制代码- TableConfig.dynamicTableName = object : DynamicTableProcessor {
- override fun process(tableName: String): String {
- return tableName + "_" + (0..9).random()
- }
- }
复制代码 局部配置
局部配置用于单个 Mapper 方法,可以通过 @Table 进行配置
- 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);
- }
- }
复制代码- import com.tang.kite.annotation.Table;
- @Table(dynamicTableName = RandomDynamicTableProcessor.class)
- public class Account {}
复制代码- import com.tang.kite.config.table.DynamicTableProcessor
- class RandomDynamicTableProcessor : DynamicTableProcessor {
- override fun process(tableName: String): String {
- return tableName + "_" + (0..9).random()
- }
- }
复制代码- import com.tang.kite.annotation.Table
- @Table(dynamicTableName = RandomDynamicTableProcessor::class)
- class Account {}
复制代码 官方文档
详细的使用文档请参考:
源码
Kite 的源码托管在 GitHub 和 Gitee 上,您可以在以下地址查看和贡献:
- Kite GitHub 仓库
- Kite Gitee 仓库
总结
Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。
如果您正在寻找一个轻量级、高性能的 ORM 框架,Kite 绝对值得一试!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |