找回密码
 立即注册
首页 业界区 业界 Kite:两种方式实现动态表名

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

肿圬后 5 小时前
Kite:两种方式实现动态表名

有两种方式实现动态表名:全局配置和局部配置。
如果全局配置和局部配置同时存在,局部配置会覆盖全局配置。
全局配置

全局配置用于所有的 Mapper 方法,可以通过以下方式进行配置

  • Java
  1. TableConfig.setDynamicTableName(new DynamicTableProcessor() {
  2.     @Override
  3.     public @NonNull String process(@NonNull String tableName) {
  4.         return tableName + "_" + new Random().nextInt(10);
  5.     }
  6. });
复制代码

  • Kotlin
  1. TableConfig.dynamicTableName = object : DynamicTableProcessor {
  2.     override fun process(tableName: String): String {
  3.         return tableName + "_" + (0..9).random()
  4.     }
  5. }
复制代码
局部配置

局部配置用于单个 Mapper 方法,可以通过 @Table 进行配置

  • Java
  1. import com.tang.kite.config.table.DynamicTableProcessor;
  2. import org.jspecify.annotations.NonNull;
  3. import java.util.Random;
  4. public class RandomDynamicTableProcessor implements DynamicTableProcessor {
  5.     @Override
  6.     public @NonNull String process(@NonNull String tableName) {
  7.         return tableName + "_" + new Random().nextInt(10);
  8.     }
  9. }
复制代码
  1. import com.tang.kite.annotation.Table;
  2. @Table(dynamicTableName = RandomDynamicTableProcessor.class)
  3. public class Account {}
复制代码

  • Kotlin
  1. import com.tang.kite.config.table.DynamicTableProcessor
  2. class RandomDynamicTableProcessor : DynamicTableProcessor {
  3.     override fun process(tableName: String): String {
  4.         return tableName + "_" + (0..9).random()
  5.     }
  6. }
复制代码
  1. import com.tang.kite.annotation.Table
  2. @Table(dynamicTableName = RandomDynamicTableProcessor::class)
  3. class Account {}
复制代码
官方文档

详细的使用文档请参考:

  • 中文文档
  • 英文文档
源码

Kite 的源码托管在 GitHub 和 Gitee 上,您可以在以下地址查看和贡献:

  • Kite GitHub 仓库
  • Kite Gitee 仓库
总结

Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。
如果您正在寻找一个轻量级、高性能的 ORM 框架,Kite 绝对值得一试!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册