Kite:两种方式实现动态表名

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 绝对值得一试!

相关推荐
BING_Algorithm5 分钟前
一文搞定 AOP 所有核心知识点
spring boot·后端·spring
善恶怪客7 分钟前
Java-数据类型
java
学习3人组12 分钟前
Mes全连路架构图
java·erp
上弦月-编程18 分钟前
C语言指针从入门到实战
java·jvm·算法
Cyan_RA919 分钟前
SpringMVC 请求数据绑定与参数映射 详解
java·后端·spring·mvc·springmvc·映射请求数据
逻辑驱动的ken23 分钟前
Java高频面试考点场景题20
java·开发语言·深度学习·面试·职场和发展
GISer_Jing24 分钟前
AI全栈工程师知识体系全景:从前后端核心架构到落地项目全拆解
前端·人工智能·后端·ai编程
bzmK1DTbd24 分钟前
Java游戏服务器:Netty框架的高并发网络通信
java·服务器·游戏
longxibo26 分钟前
【Flowable 7.2 源码深度解析与实战-前言】
java·后端·流程图
全栈小刘31 分钟前
ChatGPT账号打通OpenClaw?Codex又整了个“电子宠物”,开发者这下真坐不住了
后端