Kite 是一个高效的轻量级 ORM 框架,基于 Kotlin 编写,开箱即用,内置分页查询、增删改查等常用功能,支持多表操作。它支持 PostgreSQL、MySQL、Derby 等多种数据库,旨在通过简化数据库操作,减少代码量,提升开发效率。
Maven 中央仓库: kite-spring-boot-starter
<dependency>
<groupId>io.github.tangllty</groupId>
<artifactId>kite-spring-boot-starter</artifactId>
<version>${kite.version}</version>
</dependency>implementation("io.github.tangllty:kite-spring-boot-starter:${kite.version}")使用 MySQL 演示
create table account (
id bigint not null auto_increment,
username varchar(32) default '',
password varchar(32) default '',
balance decimal(10,2) default '0.00',
create_time datetime default null,
update_time datetime default null,
primary key (`id`)
);
insert into account (username, password, create_time, balance) values
('admin', 'admin123', '2020-01-01 12:00:00', 1000.10),
('user', 'user123', '2024-05-02 8:30:00', 101.00),
('guest', 'guest123', '2022-03-03 15:00:00', 10.00),
('tang', 'tang123', '2019-06-01 21:30:30', 1.88),
('jeo', 'jeo123', '2024-07-01 5:59:59', 0.10);application.yml 文件中配置数据库连接信息spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/kite-test
username: root
password: passwordaccount 表创建模型类import com.tang.kite.annotation.id.Id;
import com.tang.kite.annotation.id.IdType;
import java.math.BigDecimal;
import java.time.LocalDateTime;
public class Account {
@Id(type = IdType.AUTO)
private Long id;
private String username;
private String password;
private BigDecimal balance;
private LocalDateTime createTime;
private LocalDateTime updateTime;
// Getters and Setters
}import com.tang.kite.annotation.id.Id
import com.tang.kite.annotation.id.IdType
import java.math.BigDecimal
import java.time.LocalDateTime
class Account (
@Id(type = IdType.AUTO)
var id: Long? = null,
var username: String? = null,
var password: String? = null,
var balance: BigDecimal? = null,
var createTime: LocalDateTime? = null,
var updateTime: LocalDateTime? = null
)BaseMapper 接口创建 Mapper 接口import com.tang.kite.mapper.BaseMapper;
import com.tang.kite.spring.annotation.Mapper;
@Mapper
public interface AccountMapper extends BaseMapper<Account> {
}import com.tang.kite.mapper.BaseMapper
import com.tang.kite.spring.annotation.Mapper
@Mapper
interface AccountMapper : BaseMapper<Account>@MapperScan 注解import com.tang.kite.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.tang.application.mapper")
@SpringBootApplication
public class KiteApplication {
public static void main(String[] args) {
SpringApplication.run(KiteApplication.class, args);
}
}import com.tang.kite.spring.annotation.MapperScan
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@MapperScan(["com.tang.application.mapper"])
@SpringBootApplication
class KiteApplication
fun main(args: Array<String>) {
runApplication<KiteApplication>(*args)
}import com.tang.demo.mapper.AccountMapper;
import com.tang.kite.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.tang.application.mapper")
@SpringBootApplication
public class KiteApplication {
public static void main(String[] args) {
var context = SpringApplication.run(KiteApplication.class, args);
var accountMapper = context.getBean(AccountMapper.class);
var accounts = accountMapper.select();
accounts.forEach(System.out::println);
}
}import com.tang.demo.mapper.AccountMapper
import com.tang.kite.spring.annotation.MapperScan
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@MapperScan(["com.tang.application.mapper"])
@SpringBootApplication
class KiteApplication
fun main(args: Array<String>) {
val context = runApplication<KiteApplication>(*args)
val accountMapper = context.getBean(AccountMapper::class.java)
val accounts = accountMapper.select()
accounts.forEach { println(it) }
}详细的使用文档请参考:
Kite 的源码托管在 GitHub 和 Gitee 上,您可以在以下地址查看和贡献:
Kite 是一个功能强大、易于使用的 ORM 框架,它通过全自动映射和简洁的 API,大大简化了数据库操作的开发工作。无论是在 Kotlin 项目还是 Java 项目中,都能提供高效、便捷的数据库访问体验。
如果您正在寻找一个轻量级、高性能的 ORM 框架,Kite 绝对值得一试!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。