当前位置: 首页 > news >正文

Kite:填充处理器

Kite:填充处理器

填充处理器功能允许你在增删改查时,自动设置某些字段的值,而无需手动指定。

官方实现

Kite 提供了一个时间填充处理器 TimeFillHandler,它可以使用 @CreateTime@UpdateTime 注解自动设置创建时间和更新时间字段的值。

定义注解

注解只能生效在字段上。

你可以添加属性来实现更复杂的功能。

:::tabs key:kite

== Java

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CreateTime {}

== Kotlin

@Target(AnnotationTarget.FIELD)
@Retention(AnnotationRetention.RUNTIME)
@MustBeDocumented
annotation class CreateTime

:::

定义填充处理器

可以根据注解和字段类型来返回不同的值。

:::tabs key:kite

== Java

import com.tang.kite.handler.fill.FillHandler;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.time.LocalDateTime;public class TimeFillHandler implements FillHandler {@Override@Nullablepublic Object fillValue(@NotNull Annotation annotation, @NotNull Field field, @NotNull Object entity) {return LocalDateTime.now();}}

== Kotlin

import com.tang.kite.handler.fill.FillHandler
import java.lang.annotation.Annotation
import java.lang.reflect.Field
import java.time.LocalDateTimeclass TimeFillHandler : FillHandler {override fun fillValue(annotation: Annotation, field: Field, entity: Any): Any? {return LocalDateTime.now()}}

:::

注册填充处理器

你可以在 KiteConfig 中注册填充处理器。

:::tabs key:kite

== Java

import com.tang.kite.annotation.fill.CreateTime;
import com.tang.kite.config.KiteConfig;
import com.tang.kite.enumeration.SqlType;
import com.tang.kite.handler.fill.FillKey;
import com.tang.kite.handler.fill.TimeFillHandler;KiteConfig.getFillHandlers().put(new FillKey(CreateTime.class, SqlType.INSERT), new TimeFillHandler());

== Kotlin

import com.tang.kite.annotation.fill.CreateTime
import com.tang.kite.config.KiteConfig
import com.tang.kite.enumeration.SqlType
import com.tang.kite.handler.fill.FillKey
import com.tang.kite.handler.fill.TimeFillHandlerKiteConfig.fillHandlers[FillKey(CreateTime::class, SqlType.INSERT)] = TimeFillHandler()

:::

使用示例

:::tabs key:kite

== Java

public class Account {@CreateTimeprivate LocalDateTime createTime;@UpdateTimeprivate LocalDateTime updateTime;}

== Kotlin

class Account {@CreateTimevar createTime: LocalDateTime? = null@UpdateTimevar updateTime: LocalDateTime? = null}

:::

官方文档

详细的使用文档请参考:

  • 中文文档
  • 英文文档

源码

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

  • Kite GitHub 仓库
  • Kite Gitee 仓库

总结

Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。

如果您正在寻找一个轻量级、高性能的 ORM 框架,Kite 绝对值得一试!

http://www.jsqmd.com/news/454047/

相关文章:

  • 用烟花算法优化SVM参数:从理论到实战
  • 环形链表问题与随机链表的复制oj复盘
  • Matlab布谷鸟优化算法CS原代码集,包含基准测试函数,适用于后续改进与对比,百分百可运行
  • 广州前十留学机构实测!申请躺赢全靠它 - 博客湾
  • 【MySQL】复合查询
  • 探索Matlab/Simulink在电力调频中的多元应用:从传统到新能源的转变
  • 【MySQL】视图、用户和权限管理
  • VulnHub DC-7 靶机渗透测试笔记
  • GitHub 今日热搜:24小时内最受瞩目的10个开源项目
  • 2026年铝型材厂家推荐排行榜:工业铝型材、角铝型材、欧标铝型材、铝合金铝型材、铝型材框架定制、工作台与置物架方铝型材实力品牌精选 - 品牌企业推荐师(官方)
  • 基于遗传粒子群优化算法的LSTM网络预测优化:精准预测与超越局部最优解的挑战
  • 2026年全国薪酬绩效咨询公司哪家靠谱?口碑好实力强适配多行业 靠谱专业且落地性强 - 深度智识库
  • 东莞九头牛软件科技小龙虾openclaw,以创新技术开启AI民主化与GEO平权新时代
  • OpenClaw 配置 Nginx 反向代理完整指南
  • 永磁同步电机控制仿真之旅
  • 使用宝塔一键迁移插件来迁移项目
  • Rust 1.94.0 闪亮登台
  • 【MySQL系列文章】Linux环境下安装部署MySQL
  • 保险企业局域网如何用Java保障理赔材料文件夹的断点续传防篡改?
  • X光、CT、MRI、超声等影像识别如何是大模型AI诊断
  • ITS是什么
  • [特殊字符]家人们,今天来给大家分享一款超厉害的闭环步进驱动器源码![特殊字符]
  • Linux线程(3)线程控制
  • 探寻2026年安徽口碑好的AI搜索推广专业公司,价格怎么收费 - 工业推荐榜
  • 永磁同步电机无位置观测算法:实测有效的宝藏秘籍
  • 【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
  • 2026年深圳配眼镜品牌全、服务好的配镜中心排名大揭秘 - mypinpai
  • 2026年工业移动电源厂家推荐排行榜:大功率/220V/380V/便携式/应急/工程施工/大容量/快充/消防救援/户外/储能式移动电源,专业实力与创新技术深度解析 - 品牌企业推荐师(官方)
  • 计算机毕设java的高校车辆租赁管理系统 基于SpringBoot框架的校园汽车共享与调度服务平台 Java技术驱动的高校公务车辆与共享出行一体化管理系统
  • Simulink车用永磁同步电机弱磁控制的矢量控制FOC