在没有UI的情况下设置速度?

sme*_*eeb 7 orm java-8 java-stream speedment

我刚刚发现了Speedment,一个基于Java 8 Stream的OR/M库,并且不得不说我喜欢它的想法.没有更疯狂的配置或花费时间筛选900页的休眠文档来找到正确的方法来注释我的类:Speedment只是读取您的数据库,为您生成Java类并为您提供基于流的API来运行针对它们的DDL语句.邪恶酷.

然而,一个大大忌是,它看起来像你必须使用Speedment UI来配置你的数据库连接.此外,文档似乎没有具体说明如何执行以下操作:

  • 指定您希望代码生成哪些表(可能在数据库中有一些您希望为其生成模型的表
  • 执行存储过程
  • 配置内存中缓存

等等.在GitHub上,我似乎无法找到代码如何从UI连接在一起以生成配置对象.只是想知道是否有办法配置Speedment没有UI(可能通过JSON或YAML),如果是,可以使用哪些配置.

Emi*_*und 1

可以在没有 UI 的情况下配置 Speedment,但需要一些修改。基本上,要从数据库生成代码,您需要手动创建speedment.json文件并指定要手动生成的架构。

  1. 创建一个新的 Maven 项目(一个pom.xml文件和一个src/main/java目录)。
  2. 创建文件/src/main/json/speedment.json
  3. 输入以下内容:
{
  "config" : {
    "name" : "yourproject",
    "packageName" : "com.yourcompany",
    "packageLocation" : "src/main/java/",
    "dbmses" : [{
      "name"      : "db0",
      "typeName"  : "MySQL",
      "ipAddress" : "127.0.0.1",
      "port"      : 3306,
      "schemas" : [{
        "name" : "your_db_schema"
      }]
    }]
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 运行 Maven 目标:(mvn speedment:reload -Ddbms.username=root -Dbms.password=password使用数据库的凭据)

  2. 最后,运行 Maven 目标:mvn speedment:generate

第一个目标连接到数据库并填写 .json 文件中任何缺少的配置详细信息。第二个目标生成 .java 代码。

要禁用特定表,请将 json-property“enabled”设置为false。您还可以通过这种方式禁用各个列。

如果需要,您现在可以直接在 .json 文件中配置生成,然后重新生成。