Yorm:一个基于Java Record的简单ORM框架


Yorm是一个基本的类似ORM的框架,能与Java Record一起工作。
特点:

  • 不需要生成类
  • 不需要添加注解
  • 不需要为基本操作编写SQL
  • 与API REST和CRUD操作无缝衔接

在微服务的世界里,有一种趋势是在每个服务中都有很好的逻辑,因此减少了数据库,在很多情况下,数据库只是一些没有那么多字段的表而已。
Java记录通常非常适合基本的CRUD操作,而这正是Yorm的闪光之处。
 
Yorm至少需要Java 17。

Yorm可能是为你准备的,如果。

  • 你正在用Java处理微服务,并且喜欢Java记录
  • 您的关系数据库是非常简单和基本的
  • 你的表包含自动递增的ID
  • 你不需要复杂的INNER JOIN查询,只需要基本的CRUD

虽然Java行业提供了非常好的维护ORM解决方案,如Hibernate或Jooq,但它们往往不能很好地与Java Records一起工作。另一方面,Yorm是专门为利用这种Java能力而设计的。

由于Java记录的不可变性,Yorm不能被理解为一个持久的ORM,甚至不能被理解为一个ORM,因为实际上没有任何关系。
 
数据表:

CREATE TABLE person
(
    id         INT(10) AUTO_INCREMENT PRIMARY KEY NOT NULL,
    name       VARCHAR(20) NOT NULL,
    email      VARCHAR(55) NOT NULL,
    company_id int(10) NOT NULL
);

Java记录:

public record Person(int id, String name, String email, int companyId) {}

请注意,companyId在Java中遵循传统的驼峰大写,而company_id是下划线,这在数据库领域非常流行。它可以是这样的,Yorm会照顾和匹配两个字段。

保存一个对象将是很简单的事情:

Person person = new Person(0, "John", "john.doe@um.com", 1);
    int idPerson = yorm.save(person);

这将翻译成SQL:

INSERT INTO person (name, email, company_id) VALUES ("John", "john.doe@um.com", 1)

Yorm将检测到id为0,认为这是一个INSERT,并将其插入数据库中的Person表。它将返回刚刚插入的对象的id。
 
点击标题